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)文字をスキップします。
-
コンストラクタの詳細
-
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- オーバーライド:
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エラーが発生した場合
-
readLine
public String readLine() throws IOExceptionテキストを1行読み込みます。 行末記号が読み込まれるたびに、現在の行番号が増分されます。- オーバーライド:
readLine、クラス:BufferedReader- 戻り値:
- 行の内容を含む文字列、ただし行の終端文字は含めない。ストリームの終わりに達している場合は
null - 例外:
IOException- 入出力エラーが発生した場合- 関連項目:
Files.readAllLines(java.nio.file.Path, java.nio.charset.Charset)
-
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- ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合
-