java.lang.Object
java.io.Reader
java.io.BufferedReader
java.io.LineNumberReader
- すべての実装されたインタフェース:
Closeable
,AutoCloseable
,Readable
public class LineNumberReader extends BufferedReader
行番号を追跡して管理する、バッファリングされた文字入力ストリームです。 このクラスは、現在の行番号をそれぞれ設定および取得するための
setLineNumber(int)
メソッドおよびgetLineNumber()
メソッドを定義します。
デフォルトでは、行番号は0から始まります。 この数値は、データの読取り時に「終了文字」ごとに増分され、ストリームの最後の文字が行終了記号でない場合はストリームの最後に増分されます。 この番号は、setLineNumber(int)
へのコールで変更できます。 ただし、setLineNumber(int)
は、ストリーム内の現在位置を実際に変更するのではなく、getLineNumber()
から返される値を変更するだけです。
行は、行送り('')、キャリッジ・リターン('\r')、または行送りの直後に続くキャリッジ・リターン、ストリームの終わりに続く前の終端文字、または別の終端文字が前に付いていないストリームの終わりのいずれかによってterminatedとみなされます。
- 導入されたバージョン:
- 1.1
-
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明デフォルトの入力バッファ・サイズを使用して、行番号付きリーダーを新しく作成します。LineNumberReader
(Reader in, int sz) 指定されたサイズのバッファに文字を読み込む、行番号付きリーダーを新しく作成します。 -
メソッドのサマリー
クラス java.io.BufferedReaderで宣言されたメソッド
close, lines, markSupported, ready
クラス java.io.Readerで宣言されたメソッド
nullReader, read, read, skip, transferTo
-
コンストラクタの詳細
-
メソッドの詳細
-
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
が負の場合、またはlen
がcbuf.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
- ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合
-