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

クラス java.io.BufferedWriter

java.lang.Object
   |
   +----java.io.Writer
           |
           +----java.io.BufferedWriter

public class BufferedWriter
extends Writer
文字をバッファリングすることによって、文字、配列、または文字列を効率良く文字型出力ストリームへ書き込みます。

バッファのサイズはデフォルト値のままでもよいし、特定の値を指定することもできます。 ほとんどの使い方ではデフォルト値は十分な大きさを持っています。

ラインセパレーターはプラットフォームに依存するため、システムの line.separator プロパティで定義される終端記号を書き込む newLine() メソッドが提供されています。全てのプラットフォームが改行文字('\n')で行を終端させるわけではないので、改行文字を直接書き込むよりもこのメソッドを呼び出して行を終了させる方を推奨します。

一般的に、Writer はその出力を直ちに下層の文字型ストリームまたはバイトストリームへ送り出します。プロンプト出力を必要とする場合以外では、FileWritersや OutputStreamWriters のような Writers から直接 write()オペレーションを呼び出すのは効率が悪いので BufferedWriter でラップすることを推奨します。例えば、

 PrintWriter out
   = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
 
は PrintWriter のファイルへの出力をバッファリングします。バッファリングしない場合は、print() メソッド呼び出しはその都度文字をバイトへ変換して直ちにファイルへ書き込むため、効率が非常に良くありません。

参照:
PrintWriter, FileWriter, OutputStreamWriter

Constructor Index

 o BufferedWriter(Writer)
デフォルトサイズの出力バッファでバッファリングされた文字型出力ストリームを作成する。
 o BufferedWriter(Writer, int)
指定された大きさの出力バッファでバッファリングされた文字型出力ストリームを新規作成する。

Method Index

 o close()
ストリームをクローズする。
 o flush()
ストリームをフラッシュする。
 o newLine()
行セパレーターを書き込む。
 o write(char[], int, int)
文字型配列の一部を書き込む。
 o write(int)
一個の文字を書き込む。
 o write(String, int, int)
String の一部を書き込む。

Constructors

 o 
BufferedWriter
  public BufferedWriter(Writer out)
デフォルトサイズの出力バッファでバッファリングされた文字型出力ストリームを作成します。

パラメータ:
out - Writer
 o BufferedWriter
  public BufferedWriter(Writer out,
                        int sz)
指定されたサイズの出力バッファでバッファリングされた文字型出力ストリームを新規作成します。

パラメータ:
out - Writer
sz - 出力バッファのサイズ。正整数。
例外: IllegalArgumentException
sz <= 0 の場合。

Methods

 o write
 public void write(int c) throws IOException
一個の文字を書き込みます。

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

普通、このメソッドは与えられた配列からこのストリームのバッファへ文字を格納し、必要に応じて下層のストリームにバッファをフラッシュします。しかし、要求された長さが少なくともこのストリームのバッファと同じ位の大きさの場合、このメソッドはバッファをフラッシュし、その文字を直接下層のストリームに書き込みます。こうして、余分な BufferedWriter は、データを不必要にコピーしません。

パラメータ:
cbuf - 文字型配列
off - 読み込み開始文字の位置を示すオフセット
len - 書き込むべき文字数
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Writer クラスの write
 o 
write
 public void write(String s,
                   int off,
                   int len) throws IOException
String の一部を書き込みます。

パラメータ:
s - 書き込まれる String
off - 読み込み開始文字の位置を示すオフセット
len - 書き込みされる文字数
例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Writer クラスの write
 o newLine
 public void newLine() throws IOException
行セパレーターを書き込みます。行セパレーター文字はシステムの line.separator プロパティで定義され、必ずしも改行文字('\n')とは限りません。

例外: IOException
I/O エラーが発生した場合。
 o flush
 public void flush() throws IOException
ストリームをフラッシュします。

例外: IOException
I/O エラーが発生した場合。
オーバーライド:
Writer クラスの flush
 o close
 public void close() throws IOException
ストリームをクローズします。

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

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