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

クラスLineNumberReader

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


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

    デフォルトでは、行番号は0から始まります。 この番号は、データが読み込まれて行末記号のたびに増分し、setLineNumber(int)を呼び出すことで変更できます。 ただし、setLineNumber(int)は、ストリーム内の現在位置を実際に変更するのではなく、getLineNumber()から返される値を変更するだけです。

    1行の終端は、改行('\n')か、復帰('\r')、または復帰とそれに続く改行のいずれかで認識されます。

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

      • クラス java.io.Readerから継承されたフィールド

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

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

      • 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
        配列の一部に文字を読み込みます。 行末記号が読み込まれるたびに、現在の行番号が増分されます。
        オーバーライド:
        read、クラス: BufferedReader
        パラメータ:
        cbuf - 転送先バッファ
        off - 文字の格納開始オフセット
        len - 読み込む文字の最大数
        戻り値:
        読み込まれた文字数。ストリームの終わりに達している場合は -1
        例外:
        IOException - 入出力エラーが発生した場合
        IndexOutOfBoundsException - I/Oエラーが発生した場合
      • 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 - ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合