全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.io.BufferedReader

java.lang.Object
   |
   +----java.io.Reader
           |
           +----java.io.BufferedReader

public class BufferedReader
extends Reader
読み込みの効率が良くなるように文字、配列、行をバッファリングしながら、文字型入力ストリームからテキストを読み込みます。

バッファのサイズを指定できますし、デフォルトのまま使うこともできます。デフォルト値は通常の使い方のためには十分な大きさを持っています。

一般的に、Reader に対して読み込み要求が出されると、それに対応する下層の文字型またはバイトストリームへの読み込み要求が出されます。このため、FileReadersやInputStreamReadersのように read()オペレーションの効率の良くない Readerではその周りを BufferedReaderでラップすることを推奨します。例えば、

 BufferedReader in
   = new BufferedReader(new FileReader("foo.in"));
 
は指定されたファイルからの入力をバッファします。バッファリングせずに read(), readLine()を使うと、呼び出しごとにファイルからバイトを読み込み、文字型へ変換し、その度に戻りますから非常に効率が悪くなります。

テキスト入力に対して DataInputStreams を使うプログラムは、各 DataInputStream を適切な BufferedReader に入れ替えることによってローカライズすることができます。

参照:
FileReader, InputStreamReader

Constructor Index

 o BufferedReader(Reader)
デフォルトサイズのバッファでバッファリングされた文字型入力ストリームを作成する。
 o BufferedReader(Reader, int)
指定されたサイズのバッファでバッファリングされた文字型入力ストリームを作成する。

Method Index

 o close()
ストリームをクローズする。
 o mark(int)
ストリームの現在位置にマークを付ける。
 o markSupported()
ストリームがマーク付けをするための mark() をサポートしているかどうかを返す。
 o read()
1文字を読み込む。
 o read(char[], int, int)
配列の一部に(複数の)文字を読み込む。
 o readLine()
テキストを一行読み込みます。
 o ready()
ストリームが読み込み可能な状態かどうかを返す。
 o reset()
ストリームを最近付けられたマークへリセットする。
 o skip(long)
文字をスキップする。

Constructors

 o BufferedReader
  public BufferedReader(Reader in,
                        int sz)
指定されたサイズのバッファによってバッファリングされた文字型入力ストリームを作成します。

パラメータ:
in - Reader。
sz - 入力バッファのサイズ。
例外: IllegalArgumentException
sz <= 0 の場合。
 o 
BufferedReader
  public BufferedReader(Reader in)
デフォルトサイズのバッファでバッファリングされた文字型入力ストリームを作成します。

パラメータ:
in - Reader。

Methods

 o read
 public int read() throws IOException
1文字を読み込みます。

例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Reader クラスの read
 o read
 public int read(char cbuf[],
                 int off,
                 int len) throws IOException
配列の一部に(複数の)文字を読み込みます。

普通、このメソッドはこのストリームの文字バッファから文字を取得し、必要に応じて下層のストリームからそのバッファを埋めます。しかし、バッファが空で、マークが無効で、要求された長さが少なくともバッファと同じ位の大きさの場合、このメソッドは下層のストリームから与えられた配列に直接文字を読み込みます。こうして、余分な BufferedReader は、データを不必要にはコピーしません。

パラメータ:
cbuf - 書き込み先バッファ
off - 文字の格納を開始するオフセット位置
len - 読み込むべき最大文字数
返り値:
読み込んだバイト数。ストリームの最後まで達した場合は -1。
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Reader クラスの read
 o readLine
 public String readLine() throws IOException
テキストを一行読み込みます。一つの行は、改行 ('\n')、復帰('\r')、または復帰とその直後に続く改行のいづれかにより終了したとみなされます。

返り値:
行に含まれる文字列。ただし行の終端コード、ストリームの最後に到達したときの null は含まれない。
例外: IOException
I/O エラーが発生した場合。
 o skip
 public long skip(long n) throws IOException
文字をスキップします。

パラメータ:
n - スキップする文字の数
返り値:
実際にスキップされた文字の数
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Reader クラスの skip
 o ready
 public boolean ready() throws IOException
ストリームが読み込み可能かどうかを返します。バッファリングされた文字型ストリームは空白ではないか、または下層の文字型ストリームが読み込み可能であるときに読み込み可能です。

例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Reader クラスの ready
 o markSupported
  public boolean markSupported()
ストリームがマーク付けをする mark() オペレーションをサポートしているかどうかを返します。

オーバーライド:
Reader クラスの markSupported
 o mark
 public void mark(int readAheadLimit) throws IOException
ストリームの現在位置にマークを付ける。この後に reset()を呼び出すとストリームをこの位置へ戻そうとします。

パラメータ:
readAheadLimit - mark を保った状態で読み込むことができる文字数の上限。この数だけの文字を読み込んでしまうと、ストリームの resetに失敗することがあります。 入力バッファのサイズより大きい限界値を指定すると、そのサイズが限度より小さくない新しいバッファが割り当てる。そのため、大きな値は注意して使用する必要がある。
例外: IllegalArgumentException
readAheadLimit < 0 の場合
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Reader クラスの mark
 o reset
 public void reset() throws IOException
最近の mark位置へストリームをリセットします。

例外: IOException
ストリームにマークが全く付けられなかったり、またはマークが無効になってしまった場合。
オーバーライド:
Reader クラスの reset
 o close
 public void close() throws IOException
ストリームをクローズします。

例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Reader クラスの close

全てのパッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス