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)
指定されたサイズのバッファに文字を読み込む、行番号付きリーダーを新しく作成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 int
getLineNumber()
行番号の現在値を取得します。void
mark(int readAheadLimit)
ストリームの現在位置にマークを設定します。int
read()
単一の文字を読み込みます。int
read(char[] cbuf, int off, int len)
配列の一部に文字を読み込みます。String
readLine()
テキストを1行読み込みます。void
reset()
ストリームを、もっとも新しいマーク位置にリセットします。void
setLineNumber(int lineNumber)
現在の行番号を設定します。long
skip(long n)
文字をスキップします。クラス java.io.BufferedReaderで宣言されたメソッド
lines, markSupported, ready
クラス java.io.Readerで宣言されたメソッド
close, nullReader, read, read, transferTo
-
コンストラクタの詳細
-
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
-off
が負の場合、またはlen
が負の場合、またはlen
がcbuf.length - off
より大きい場合
-
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
- ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合
-