- すべての実装されたインタフェース:
Closeable
,AutoCloseable
,Readable
- 直系の既知のサブクラス:
LineNumberReader
バッファのサイズは、デフォルト値のままにすることも、特定の値を指定することもできます。 デフォルト値は、通常の使い方では十分な大きさです。
一般的に、Readerに対して読込み要求が出されると、それに対応するベースとなる文字型ストリームまたはバイト・ストリームへの読込み要求が発行されます。 このため、FileReaderやInputStreamReaderのようにread()オペレーションの効率の良くないReaderでは、その周りをBufferedReaderでラップすることをお薦めします。 たとえば、
BufferedReader in = new BufferedReader(new FileReader("foo.in"));
テキスト入力に対してDataInputStreamを使うプログラムは、各DataInputStreamを適切なBufferedReaderに入れ替えることによって地域対応することができます。
- 導入されたバージョン:
- 1.1
- 関連項目:
-
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明BufferedReader
(Reader in) デフォルト・サイズのバッファでバッファリングされた、文字型入力ストリームを作成します。BufferedReader
(Reader in, int sz) 指定されたサイズのバッファでバッファリングされた、文字型入力ストリームを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明void
close()
ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。lines()
Stream
を返します。要素はBufferedReader
から読み込まれる行です。void
mark
(int readAheadLimit) ストリームの現在位置にマークを設定します。boolean
このストリームが、実行するmark()オペレーションをサポートするかどうかを通知します。int
read()
単一の文字を読み込みます。int
read
(char[] cbuf, int off, int len) 配列の一部に文字を読み込みます。readLine()
テキスト行を読み込みます。boolean
ready()
このストリームが読込み可能かどうかを判定します。void
reset()
ストリームを、もっとも新しいマーク位置にリセットします。クラスjava.io.Readerで宣言されたメソッド
nullReader, read, read, skip, transferTo
-
コンストラクタの詳細
-
BufferedReader
public BufferedReader(Reader in, int sz) 指定されたサイズのバッファでバッファリングされた、文字型入力ストリームを作成します。- パラメータ:
in
- Readersz
- 入力バッファのサイズ- 例外:
IllegalArgumentException
-sz <= 0
の場合
-
BufferedReader
-
-
メソッドの詳細
-
read
public int read() throws IOException単一の文字を読み込みます。- オーバーライド:
read
、クラスReader
- 戻り値:
- 0から65535 (
0x00-0xffff
)の範囲の整数として読み取られる文字、またはストリームの終わりに達した場合は-1を読み取る文字 - 例外:
IOException
- 入出力エラーが発生した場合
-
read
public int read(char[] cbuf, int off, int len) throws IOException 配列の一部に文字を読み込みます。このメソッドは、
Reader
クラスの対応するread
メソッドの汎用規約を実装します。 より高い利便性のため、このメソッドはベースとなるストリームのread
メソッドを繰返し呼び出して、できるだけ多くの文字数を読み込もうとします。 このread
の反復は、次の条件の1つがtrueになるまで行われます。- 指定された文字数が読み込まれた。
- ベースとなるストリームの
read
メソッドが、ファイルの終わりを示す-1
を返した。 - ベースとなるストリームの
ready
メソッドが、それ以上の入力要求がブロックされることを示すfalse
を返した。
read
がファイルの終わりを示す-1
を返すと、このメソッドは-1
を返します。 そうでない場合、このメソッドは実際に読み込まれた文字数を返します。このクラスのサブクラスは、同じ方法でできるだけ多くの文字数を読み込むことが推奨されます。ただし、これは必須ではありません。
通常このメソッドは、このストリームの文字バッファから文字を取得し、必要に応じてベースとなるストリームからそのバッファを埋めます。 しかし、バッファが空で、マークが無効で、要求された長さがバッファと同じ大きさ以上の場合、このメソッドはベースとなるストリームから、指定された配列に直接文字を読み込みます。 このため、余分な
BufferedReader
がデータを不必要にコピーすることがありません。- 定義:
read
、クラスReader
- パラメータ:
cbuf
- 転送先バッファoff
- 文字の格納開始オフセットlen
- 読み込む文字の最大数- 戻り値:
- 読み込まれた文字数。ストリームの終わりに達した場合は -1
- 例外:
IndexOutOfBoundsException
-off
が負、len
が負、またはlen
がcbuf.length - off
より大きい場合IOException
- 入出力エラーが発生した場合
-
readLine
public String readLine() throws IOExceptionテキスト行を読み込みます。 行は、改行(' ')、改行('\r')、改行直後の改行、またはファイルの終わり(EOF)のいずれかによって終了するとみなされます。- 戻り値:
- 行終了文字を含まない行の内容を含む文字列、または文字を読み取らずにストリームの最後に到達した場合はnull
- 例外:
IOException
- 入出力エラーが発生した場合- 関連項目:
-
ready
public boolean ready() throws IOExceptionこのストリームが読込み可能かどうかを判定します。 バッファリングされた文字型ストリームは、空白ではないか、またはベースとなる文字型ストリームが読込み可能であるときに読込み可能です。- オーバーライド:
ready
、クラスReader
- 戻り値:
- 次のread()が入力をブロックしないことが確実な場合はtrue、そうでない場合はfalse。 falseが返されても、次の読込みが確実にブロックするというわけでない。
- 例外:
IOException
- 入出力エラーが発生した場合
-
markSupported
public boolean markSupported()このストリームが、実行するmark()オペレーションをサポートするかどうかを通知します。- オーバーライド:
markSupported
、クラスReader
- 戻り値:
- このストリームがmarkオペレーションをサポートする場合に限りtrue。
-
mark
public void mark(int readAheadLimit) throws IOException ストリームの現在位置にマークを設定します。 以降のreset()の呼出しでは、この位置へのストリームの再配置が試みられます。- オーバーライド:
mark
、クラスReader
- パラメータ:
readAheadLimit
- マークを保持しながら読み込むことができる文字数の上限。 この上限値の前後の数の文字を読み込んだあとでストリームをリセットしようとすると失敗する場合がある。 入力バッファのサイズより大きい限界値を指定すると、そのサイズが限界より小さくない新しいバッファが割り当てられる。 そのため、大きな値は注意して使用する必要がある。- 例外:
IllegalArgumentException
-readAheadLimit < 0
の場合IOException
- 入出力エラーが発生した場合
-
reset
public void reset() throws IOExceptionストリームを、もっとも新しいマーク位置にリセットします。- オーバーライド:
reset
、クラスReader
- 例外:
IOException
- ストリームにマークを設定できなかった場合、またはマークが無効になった場合
-
close
public void close() throws IOException次のクラスからコピーされた説明:Reader
ストリームを閉じて、それに関連するすべてのシステム・リソースを解放します。 ストリームが閉じられたあとにread()、ready()、mark()、reset()、またはskip()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。- 定義:
close
、インタフェースAutoCloseable
- 定義:
close
、インタフェースCloseable
- 定義:
close
、クラスReader
- 例外:
IOException
- 入出力エラーが発生した場合
-
lines
Stream
を返します。要素はBufferedReader
から読み込まれる行です。Stream
は遅延移入されます。つまり、ストリーム終端操作時には読込みのみが発生します。ストリーム終端操作の実行中にリーダーを操作しないでください。 そうしない場合、ストリーム終端操作の結果は保証されません。
ストリーム終端操作の実行後は、リーダーが特定の位置にあり、そこから次の文字または行を読み込む保証はありません。
基礎となる
BufferedReader
のアクセス時にスローされたIOException
は、UncheckedIOException
にラップされます(読込みを発生させたStream
メソッドからはこれがスローされます)。 このメソッドは、閉じたBufferedReaderで呼び出された場合にStreamを返します。 BufferedReaderが閉じられた後に、そこからの読込みを必要とするストリームに対して操作すると、UncheckedIOExceptionがスローされます。- 戻り値:
- この
BufferedReader
で記述されたテキスト行を提供するStream<String>
- 導入されたバージョン:
- 1.8
-