|
nanoJBlend | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.io.Reader
java.io.BufferedReader
public class BufferedReader
BufferedReader は文字入力ストリームからの入力をバッファして、文字列やテキスト行の読み込みの性能を向上させます。
バッファのサイズは、デフォルトのサイズを使うかまたは指定することもできます。 デフォルトのサイズは大抵の用途で十分なサイズです。
一般に、 Reader の read メソッド呼び出しは、 Reader が内部的に保持しているストリームの read メソッド呼び出しを引き起こします。
たとえば InputStreamReader のように、 read メソッド呼び出しが高価な Reader については BufferedReader でラップすることが望ましいです。
バッファしない場合、 read メソッドの呼び出しは、ストリームからバイトデータを読み込み、文字へ変換する、といった処理を逐次実行することになるため、性能的な問題がありがちです。
テキスト入力のために DataInputStream を使うプログラムは BufferedReader に置き換えることで容易にローカライズできます。
BufferedReader の操作は同期化されています。
| コンストラクタの概要 | |
|---|---|
BufferedReader(Reader in)
標準バッファサイズの BufferedReader インスタンスを生成します。 |
|
BufferedReader(Reader in,
int size)
指定されたバッファサイズの BufferedReader インスタンスを生成します。 |
|
| メソッドの概要 | |
|---|---|
void |
close()
クローズします。 |
void |
mark(int readAheadLimit)
現在位置をマークします。 |
boolean |
markSupported()
マークをサポートするかどうかを返します。 |
int |
read()
1文字読み込みます。 |
int |
read(char[] cbuf,
int off,
int len)
文字を指定された配列の一部に読み込みます。 |
String |
readLine()
1テキスト行を読み込みます。 |
boolean |
ready()
ブロックせずに 1 文字以上読み込みできるかどうかを返します。 |
void |
reset()
読み出し位置をマーク位置に戻します。 |
long |
skip(long n)
文字をスキップします。 |
| クラス java.io.Reader から継承されたメソッド |
|---|
read |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait |
| コンストラクタの詳細 |
|---|
public BufferedReader(Reader in)
BufferedReader インスタンスを生成します。
in - 入力元の Reader
public BufferedReader(Reader in,
int size)
BufferedReader インスタンスを生成します。
in - 入力元の Readersize - バッファサイズ
IllegalArgumentException - size が 0 以下の場合| メソッドの詳細 |
|---|
public void close()
throws IOException
クローズ後、このインスタンスに対する操作は IOException をスローします。
ただし、クローズ後に再度クローズした場合は何も行いません。
Reader 内の closeIOException - 入力元の Reader の Reader.close() 操作で IOException がスローされた場合。public boolean markSupported()
Reader 内の markSupportedBufferedReader はマークをサポートするので、常に true を返します。
public void mark(int readAheadLimit)
throws IOException
このメソッドを実行後、reset() の実行により、読み出し位置をマークした位置に戻すことができます。
Reader 内の markreadAheadLimit - マーク位置を保持して読み込むことを保証させる最大文字数を指定します。
マーク後にこの文字数以上を読み込むと、それ以降に実行する reset() は失敗します。
入力バッファのサイズより大きな値を指定すると、この値より大きいサイズの入力バッファを確保しようとするため、注意が必要です。
IOException - I/O エラーが発生した場合
IllegalArgumentException - readAheadLimit が 0 未満の場合。
public void reset()
throws IOException
Reader 内の resetIOException - マークされていない場合、またはマークが無効になっている場合。I/O エラーが発生した場合。
public boolean ready()
throws IOException
Reader 内の readytrue を返します。
そうでない場合 false を返します。
false が返される場合、次の read 呼び出しがブロックされることを保証するわけではありません。
IOException - I/O エラーが発生した場合
public int read()
throws IOException
Reader 内の read0 から 65535 までの範囲の整数値)を返します。
EOF に到達した場合は -1 を返します。
IOException - I/O エラーが発生した場合
public int read(char[] cbuf,
int off,
int len)
throws IOException
このメソッドは次のどれかの条件が成立するまで、内部ストリームの read メソッドを繰り返して呼び出します。
read メソッドが -1 を返すready メソッドが false を返し、以後の read メソッドがブロックすることを示す
内部ストリームの read への最初の呼び出しが -1 を返してストリーム終端に到達したことを示した場合、このメソッドは -1 を返します。
それ以外の場合、このメソッドは実際に読み込んだ文字数を返します。
Reader 内の readcbuf - 格納先のバッファoff - 文字をバッファに書き込み始めるオフセット位置len - 読み込む文字の最大数
-1 。
IOException - I/O エラーが発生した場合
public String readLine()
throws IOException
'\r' )、改行( '\n' )、復帰に続く改行( '\r\n' )、またはストリームの終端によって識別されます。
復帰や改行などの行終端文字はテキスト行の一部とはみなされず、戻り値の String には含まれません。
String 。
行終端文字は含みません。
ストリームの終端に既に到達していた場合は null を返します。
IOException - I/Oエラーが発生した場合
public long skip(long n)
throws IOException
Reader 内の skipn - スキップする文字数
IllegalArgumentException - n が負値の場合
IOException - I/Oエラーが発生した場合
|
nanoJBlend | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||