クラスLineNumberReader

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

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

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

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

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

    クラスリーダーで宣言されたフィールド

    lock
    修飾子と型
    フィールド
    説明
    protected Object
    このストリームに対する処理の同期に使用するオブジェクトです。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    デフォルトの入力バッファ・サイズを使用して、行番号付きリーダーを新しく作成します。
    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)
    現在の行番号を設定します。

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

    close, lines, markSupported, ready
    修飾子と型
    メソッド
    説明
    void
    ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。
    Streamを返します。要素はBufferedReaderから読み込まれる行です。
    boolean
    このストリームが、実行するmark()オペレーションをサポートするかどうかを通知します。
    boolean
    このストリームが読込み可能かどうかを判定します。

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

    nullReader, of, read, read, readAllAsString, readAllLines, skip, transferTo
    修飾子と型
    メソッド
    説明
    static Reader
    文字を読み取らない新しいReaderを返します。
    static Reader
    CharSequenceから文字を読み取るReaderを返します。
    int
    read(char[] cbuf)
    配列に文字を読み込みます。
    int
    read(CharBuffer target)
    指定されたcharバッファにcharを読み込みます。
    残りの文字をすべて文字列に読み込みます。
    残りの文字をすべてテキスト行として読み取ります。
    long
    skip(long n)
    文字をスキップします。
    long
    このリーダーからすべての文字を読み込み、指定されたライターに読み込まれた順番で書き込みます。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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 - ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合