nanoJBlend

java.io
クラス BufferedReader

java.lang.Object
  上位を拡張 java.io.Reader
      上位を拡張 java.io.BufferedReader

public class BufferedReader
extends Reader

BufferedReader は文字入力ストリームからの入力をバッファして、文字列やテキスト行の読み込みの性能を向上させます。

バッファのサイズは、デフォルトのサイズを使うかまたは指定することもできます。 デフォルトのサイズは大抵の用途で十分なサイズです。

一般に、 Readerread メソッド呼び出しは、 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
 

コンストラクタの詳細

BufferedReader

public BufferedReader(Reader in)
標準バッファサイズの BufferedReader インスタンスを生成します。

パラメータ:
in - 入力元の Reader

BufferedReader

public BufferedReader(Reader in,
                      int size)
指定されたバッファサイズの BufferedReader インスタンスを生成します。

パラメータ:
in - 入力元の Reader
size - バッファサイズ
例外:
IllegalArgumentException - size が 0 以下の場合
メソッドの詳細

close

public void close()
           throws IOException
クローズします。

クローズ後、このインスタンスに対する操作は IOException をスローします。 ただし、クローズ後に再度クローズした場合は何も行いません。

定義:
クラス Reader 内の close
例外:
IOException - 入力元の ReaderReader.close() 操作で IOException がスローされた場合。

markSupported

public boolean markSupported()
マークをサポートするかどうかを返します。

オーバーライド:
クラス Reader 内の markSupported
戻り値:
BufferedReader はマークをサポートするので、常に true を返します。

mark

public void mark(int readAheadLimit)
          throws IOException
現在位置をマークします。

このメソッドを実行後、reset() の実行により、読み出し位置をマークした位置に戻すことができます。

オーバーライド:
クラス Reader 内の mark
パラメータ:
readAheadLimit - マーク位置を保持して読み込むことを保証させる最大文字数を指定します。 マーク後にこの文字数以上を読み込むと、それ以降に実行する reset() は失敗します。 入力バッファのサイズより大きな値を指定すると、この値より大きいサイズの入力バッファを確保しようとするため、注意が必要です。
例外:
IOException - I/O エラーが発生した場合
IllegalArgumentException - readAheadLimit が 0 未満の場合。

reset

public void reset()
           throws IOException
読み出し位置をマーク位置に戻します。

オーバーライド:
クラス Reader 内の reset
例外:
IOException - マークされていない場合、またはマークが無効になっている場合。I/O エラーが発生した場合。

ready

public boolean ready()
              throws IOException
ブロックせずに 1 文字以上読み込みできるかどうかを返します。

オーバーライド:
クラス Reader 内の ready
戻り値:
ブロックせずに 1 文字以上読み込みできる場合 true を返します。 そうでない場合 false を返します。 false が返される場合、次の read 呼び出しがブロックされることを保証するわけではありません。
例外:
IOException - I/O エラーが発生した場合

read

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

オーバーライド:
クラス Reader 内の read
戻り値:
読み込んだ文字( 0 から 65535 までの範囲の整数値)を返します。 EOF に到達した場合は -1 を返します。
例外:
IOException - I/O エラーが発生した場合

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException
文字を指定された配列の一部に読み込みます。

このメソッドは次のどれかの条件が成立するまで、内部ストリームの read メソッドを繰り返して呼び出します。

内部ストリームの read への最初の呼び出しが -1 を返してストリーム終端に到達したことを示した場合、このメソッドは -1 を返します。 それ以外の場合、このメソッドは実際に読み込んだ文字数を返します。

定義:
クラス Reader 内の read
パラメータ:
cbuf - 格納先のバッファ
off - 文字をバッファに書き込み始めるオフセット位置
len - 読み込む文字の最大数
戻り値:
読み込んだ文字数。 ストリームの終端に到達した場合は -1
例外:
IOException - I/O エラーが発生した場合

readLine

public String readLine()
                throws IOException
1テキスト行を読み込みます。 テキスト行の区切りは 復帰( '\r' )、改行( '\n' )、復帰に続く改行( '\r\n' )、またはストリームの終端によって識別されます。 復帰や改行などの行終端文字はテキスト行の一部とはみなされず、戻り値の String には含まれません。

戻り値:
テキスト行の文字列が格納された String 。 行終端文字は含みません。 ストリームの終端に既に到達していた場合は null を返します。
例外:
IOException - I/Oエラーが発生した場合

skip

public long skip(long n)
          throws IOException
文字をスキップします。

オーバーライド:
クラス Reader 内の skip
パラメータ:
n - スキップする文字数
戻り値:
メソッドが実際にスキップした文字数
例外:
IllegalArgumentException - n が負値の場合
IOException - I/Oエラーが発生した場合

nanoJBlend

Copyright 2005-2013 Aplix and/or its affiliates. All rights reserved. Aplix Confidential and Restricted.
NTT DOCOMO and Hitachi Kokusai Electric Confidential