モジュール java.base
パッケージ java.io

クラスLineNumberReader

すべての実装されたインタフェース:
Closeable, AutoCloseable, Readable

public class LineNumberReader extends BufferedReader
行番号を追跡して管理する、バッファリングされた文字入力ストリームです。 このクラスは、現在の行番号をそれぞれ設定および取得するためのsetLineNumber(int)メソッドおよびgetLineNumber()メソッドを定義します。

デフォルトでは、行番号は0から始まります。 この数値は、データの読取り時に「終了文字」ごとに増分され、ストリームの最後の文字が行終了記号でない場合はストリームの最後に増分されます。 この番号は、setLineNumber(int)へのコールで変更できます。 ただし、setLineNumber(int)は、ストリーム内の現在位置を実際に変更するのではなく、getLineNumber()から返される値を変更するだけです。

行は、行送り('')、キャリッジ・リターン('\r')、または行送りの直後に続くキャリッジ・リターン、ストリームの終わりに続く前の終端文字、または別の終端文字が前に付いていないストリームの終わりのいずれかによってterminatedとみなされます。

導入されたバージョン:
1.1
  • フィールドのサマリー

    クラス java.io.Readerで宣言されたフィールド

    lock
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    デフォルトの入力バッファ・サイズを使用して、行番号付きリーダーを新しく作成します。
    LineNumberReader​(Reader in, int sz)
    指定されたサイズのバッファに文字を読み込む、行番号付きリーダーを新しく作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    行番号の現在値を取得します。
    void
    mark​(int readAheadLimit)
    ストリームの現在位置にマークを設定します。
    int
    単一の文字を読み込みます。
    int
    read​(char[] cbuf, int off, int len)
    配列の一部に文字を読み込みます。
    テキストを1行読み込みます。
    void
    ストリームを、もっとも新しいマーク位置にリセットします。
    void
    setLineNumber​(int lineNumber)
    現在の行番号を設定します。
    long
    skip​(long n)
    文字をスキップします。

    クラス java.io.BufferedReaderで宣言されたメソッド

    close, lines, markSupported, ready

    クラス java.io.Readerで宣言されたメソッド

    nullReader, read, read, transferTo

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • LineNumberReader

      public LineNumberReader(Reader in)
      デフォルトの入力バッファ・サイズを使用して、行番号付きリーダーを新しく作成します。
      パラメータ:
      in - ベースとなるストリームを提供するReaderオブジェクト
    • LineNumberReader

      public LineNumberReader(Reader in, int sz)
      指定されたサイズのバッファに文字を読み込む、行番号付きリーダーを新しく作成します。
      パラメータ:
      in - ベースとなるストリームを提供するReaderオブジェクト
      sz - バッファのサイズを指定するint
  • メソッドの詳細

    • setLineNumber

      public void setLineNumber(int lineNumber)
      現在の行番号を設定します。
      パラメータ:
      lineNumber - 行番号を指定するint
      関連項目:
      getLineNumber()
    • getLineNumber

      public int getLineNumber()
      行番号の現在値を取得します。
      戻り値:
      現在の行番号
      関連項目:
      setLineNumber(int)
    • read

      public int read() throws IOException
      単一の文字を読み込みます。 行末記号は1個の改行文字('\n')に変換されます。 現在の行番号は、行終端文字が読み取られるたびに、またはストリームの終わりに達し、ストリームの最後の文字が行終端文字でないときに増分されます。
      オーバーライド:
      read、クラス: BufferedReader
      戻り値:
      読み込まれた文字。ストリームの終わりに達した場合は -1
      例外:
      IOException - 入出力エラーが発生した場合
    • read

      public int read(char[] cbuf, int off, int len) throws IOException
      配列の一部に文字を読み込みます。 行末記号は1個の改行文字('\n')に変換されます。 現在の行番号は、行終端文字が読み取られるたびに、またはストリームの終わりに達し、ストリームの最後の文字が行終端文字でないときに増分されます。
      オーバーライド:
      read、クラス: BufferedReader
      パラメータ:
      cbuf - 転送先バッファ
      off - 文字の格納開始オフセット
      len - 読み込む文字の最大数
      戻り値:
      読み込まれた文字数。ストリームの終わりに達している場合は -1
      例外:
      IOException - 入出力エラーが発生した場合
      IndexOutOfBoundsException - offが負の場合、またはlenが負の場合、またはlencbuf.length - offより大きい場合
    • readLine

      public String readLine() throws IOException
      テキストを1行読み込みます。 行末記号は1個の改行文字('\n')に変換されます。 現在の行番号は、行終端文字が読み取られるたびに、またはストリームの終わりに達し、ストリームの最後の文字が行終端文字でないときに増分されます。
      オーバーライド:
      readLine、クラス: BufferedReader
      戻り値:
      行の内容を含む文字列、ただし行の終端文字は含めない。ストリームの終わりに達している場合はnull
      例外:
      IOException - 入出力エラーが発生した場合
      関連項目:
      Files.readAllLines(java.nio.file.Path, java.nio.charset.Charset)
    • skip

      public long skip(long n) throws IOException
      文字をスキップします。
      オーバーライド:
      skip、クラス: BufferedReader
      パラメータ:
      n - スキップする文字数
      戻り値:
      実際にスキップした文字数
      例外:
      IOException - 入出力エラーが発生した場合
      IllegalArgumentException - nが負の値の場合
    • mark

      public void mark(int readAheadLimit) throws IOException
      ストリームの現在位置にマークを設定します。 以降のreset()の呼出しでは、この位置へのストリームの再配置を試み、それに合わせて行番号もリセットされます。
      オーバーライド:
      mark、クラス: BufferedReader
      パラメータ:
      readAheadLimit - マークを保持しながら読み込むことができる文字数の上限。 この数の文字を読み込んだあとでストリームをリセットしようとすると失敗する場合がある。
      例外:
      IOException - 入出力エラーが発生した場合
    • reset

      public void reset() throws IOException
      ストリームを、もっとも新しいマーク位置にリセットします。
      オーバーライド:
      reset、クラス: BufferedReader
      例外:
      IOException - ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合