モジュール 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)
    現在の行番号を設定します。

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

    close, lines, markSupported, ready

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

    nullReader, read, read, skip, 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

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

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

      public int read(char[] cbuf, int off, int len) throws IOException
      配列の一部に文字を読み込みます。 このメソッドは入力の一部が有効になるか、入出力エラーが発生するか、あるいはストリームの終わりに達するまでブロックします。

      lenが0の場合、文字は読み取られず、0が返されます。そうしないと、少なくとも1文字の読取りが試行されます。 ストリームが終了しているため、使用できる文字がない場合、値-1が返されます。そうしないと、少なくとも1つの文字が読み取られ、cbufに格納されます。

      行末記号は1個の改行文字('\n')に変換されます。 現在の行番号は、行終端文字が読み取られるたびに、またはストリームの終わりに達し、ストリームの最後の文字が行終端文字でないときに増分されます。

      オーバーライド:
      read、クラスBufferedReader
      パラメータ:
      cbuf - 転送先バッファ
      off - 文字の格納開始オフセット
      len - 読み込む文字の最大数
      戻り値:
      読み込まれた文字数。ストリームの終わりに達した場合は -1
      例外:
      IndexOutOfBoundsException - offが負、lenが負、またはlencbuf.length - offより大きい場合
      IOException - 入出力エラーが発生した場合
    • readLine

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

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

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