- 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()から返される値を変更するだけです。1行の終端は、改行('\n')か、復帰('\r')、または復帰とそれに続く改行のいずれかで認識されます。 - 導入されたバージョン:
- 1.1
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 LineNumberReader(Reader in)デフォルトの入力バッファ・サイズを使用して、行番号付きリーダーを新しく作成します。LineNumberReader(Reader in, int sz)指定されたサイズのバッファに文字を読み込む、行番号付きリーダーを新しく作成します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 intgetLineNumber()行番号の現在値を取得します。voidmark(int readAheadLimit)ストリームの現在位置にマークを設定します。intread()単一の文字を読み込みます。intread(char[] cbuf, int off, int len)配列の一部に文字を読み込みます。StringreadLine()テキストを1行読み込みます。voidreset()ストリームを、もっとも新しいマーク位置にリセットします。voidsetLineNumber(int lineNumber)現在の行番号を設定します。longskip(long n)文字をスキップします。- 
クラス java.io.BufferedReaderで宣言されたメソッドlines, markSupported, ready
 - 
クラス java.io.Readerで宣言されたメソッドclose, nullReader, read, read, transferTo
 
- 
 
- 
- 
- 
コンストラクタの詳細- 
LineNumberReaderpublic LineNumberReader(Reader in) デフォルトの入力バッファ・サイズを使用して、行番号付きリーダーを新しく作成します。- パラメータ:
- in- ベースとなるストリームを提供するReaderオブジェクト
 
 - 
LineNumberReaderpublic LineNumberReader(Reader in, int sz) 指定されたサイズのバッファに文字を読み込む、行番号付きリーダーを新しく作成します。- パラメータ:
- in- ベースとなるストリームを提供するReaderオブジェクト
- sz- バッファのサイズを指定するint
 
 
- 
 - 
メソッドの詳細- 
setLineNumberpublic void setLineNumber(int lineNumber) 現在の行番号を設定します。- パラメータ:
- lineNumber- 行番号を指定するint
- 関連項目:
- getLineNumber()
 
 - 
getLineNumberpublic int getLineNumber() 行番号の現在値を取得します。- 戻り値:
- 現在の行番号
- 関連項目:
- setLineNumber(int)
 
 - 
readpublic int read() throws IOException- オーバーライド:
- read、クラス:- BufferedReader
- 戻り値:
- 読み込まれた文字。ストリームの終わりに達した場合は -1
- 例外:
- IOException- 入出力エラーが発生した場合
 
 - 
readpublic int read(char[] cbuf, int off, int len) throws IOException配列の一部に文字を読み込みます。 行末記号が読み込まれるたびに、現在の行番号が増分されます。- オーバーライド:
- read、クラス:- BufferedReader
- パラメータ:
- cbuf- 転送先バッファ
- off- 文字の格納開始オフセット
- len- 読み込む文字の最大数
- 戻り値:
- 読み込まれた文字数。ストリームの終わりに達している場合は -1
- 例外:
- IOException- 入出力エラーが発生した場合
- IndexOutOfBoundsException- I/Oエラーが発生した場合
 
 - 
readLinepublic String readLine() throws IOException テキストを1行読み込みます。 行末記号が読み込まれるたびに、現在の行番号が増分されます。- オーバーライド:
- readLine、クラス:- BufferedReader
- 戻り値:
- 行の内容を含む文字列、ただし行の終端文字は含めない。ストリームの終わりに達している場合はnull
- 例外:
- IOException- 入出力エラーが発生した場合
- 関連項目:
- Files.readAllLines(java.nio.file.Path, java.nio.charset.Charset)
 
 - 
skippublic long skip(long n) throws IOException文字をスキップします。- オーバーライド:
- skip、クラス:- BufferedReader
- パラメータ:
- n- スキップする文字数
- 戻り値:
- 実際にスキップした文字数
- 例外:
- IOException- 入出力エラーが発生した場合
- IllegalArgumentException-- nが負の値の場合
 
 - 
markpublic void mark(int readAheadLimit) throws IOExceptionストリームの現在位置にマークを設定します。 以降のreset()の呼出しでは、この位置へのストリームの再配置を試み、それに合わせて行番号もリセットされます。- オーバーライド:
- mark、クラス:- BufferedReader
- パラメータ:
- readAheadLimit- マークを保持しながら読み込むことができる文字数の上限。 この数の文字を読み込んだあとでストリームをリセットしようとすると失敗する場合がある。
- 例外:
- IOException- 入出力エラーが発生した場合
 
 - 
resetpublic void reset() throws IOExceptionストリームを、もっとも新しいマーク位置にリセットします。- オーバーライド:
- reset、クラス:- BufferedReader
- 例外:
- IOException- ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合
 
 
- 
 
-