JavaTM 2 Platform
Standard Ed. 5.0

java.io
クラス BufferedWriter

java.lang.Object
  上位を拡張 java.io.Writer
      上位を拡張 java.io.BufferedWriter
すべての実装されたインタフェース:
Closeable, Flushable, Appendable

public class BufferedWriter
extends Writer

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

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

システムプロパティの line.separator で定義される行区切り文字はプラットフォームに依存するため、newLine() メソッドが提供されています。すべてのプラットフォームが改行文字 (「\n」) で行を終端させるわけではないので、改行文字を直接書き込むよりも、このメソッドを呼び出して行を終了させることをお勧めします。

一般的に、Writer は、その出力をただちに基本となる文字型ストリームまたはバイトストリームに送信します。プロンプト出力を必要とする場合以外では、FileWriter や OutputStreamWriter のような Writer から直接 write() 操作を呼び出すのは効率が悪いので、BufferedWriter でラップすることをお勧めします。たとえば、次の例は PrintWriter のファイルへの出力をバッファリングします。


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

導入されたバージョン:
JDK1.1
関連項目:
PrintWriter, FileWriter, OutputStreamWriter

フィールドの概要
 
クラス java.io.Writer から継承されたフィールド
lock
 
コンストラクタの概要
BufferedWriter(Writer out)
          デフォルトサイズの出力バッファでバッファリングされた、文字型出力ストリームを作成します。
BufferedWriter(Writer out, int sz)
          指定されたサイズの出力バッファでバッファリングされた、文字型出力ストリームを新しく作成します。
 
メソッドの概要
 void close()
          ストリームを閉じます。
 void flush()
          ストリームをフラッシュします。
 void newLine()
          改行文字を書き込みます。
 void write(char[] cbuf, int off, int len)
          文字の配列の一部を書き込みます。
 void write(int c)
          単一の文字を書き込みます。
 void write(String s, int off, int len)
          String の一部を書き込みます。
 
クラス java.io.Writer から継承されたメソッド
append, append, append, write, write
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

BufferedWriter

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

パラメータ:
out - Writer

BufferedWriter

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

パラメータ:
out - Writer
sz - 出力バッファのサイズ。正の整数
例外:
IllegalArgumentException - sz が 0 以下の場合
メソッドの詳細

write

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

オーバーライド:
クラス Writer 内の write
パラメータ:
c - 書き込む文字を指定する int
例外:
IOException - 入出力エラーが発生した場合

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws IOException
文字の配列の一部を書き込みます。

通常このメソッドは、指定された配列からこのストリームのバッファへ文字を格納し、必要に応じて基本となるストリームにバッファをフラッシュします。しかし、要求された長さがこのストリームのバッファと同じ大きさか、またはそれ以上の場合、このメソッドはバッファをフラッシュし、その文字を直接基本となるストリームに書き込みます。このため、余分な BufferedWriter が、データを不必要にコピーすることがありません。

定義:
クラス Writer 内の write
パラメータ:
cbuf - 文字型配列
off - 文字の読み込み開始オフセット
len - 書き込む文字数
例外:
IOException - 入出力エラーが発生した場合

write

public void write(String s,
                  int off,
                  int len)
           throws IOException
String の一部を書き込みます。

len パラメータの値が負の場合、文字は書き込まれません。この仕様は、スーパークラスにおけるこのメソッドの仕様 (IndexOutOfBoundsException のスローを要求) とは対照的です。

オーバーライド:
クラス Writer 内の write
パラメータ:
s - 書き込まれる文字列
off - 文字の読み込み開始オフセット
len - 書き込む文字数
例外:
IOException - 入出力エラーが発生した場合

newLine

public void newLine()
             throws IOException
改行文字を書き込みます。改行文字は、システムの line.separator プロパティにより定義され、必ずしも単一の改行文字 (「\n」) であるとは限りません。

例外:
IOException - 入出力エラーが発生した場合

flush

public void flush()
           throws IOException
ストリームをフラッシュします。

定義:
インタフェース Flushable 内の flush
定義:
クラス Writer 内の flush
例外:
IOException - 入出力エラーが発生した場合

close

public void close()
           throws IOException
ストリームを閉じます。

定義:
インタフェース Closeable 内の close
定義:
クラス Writer 内の close
例外:
IOException - 入出力エラーが発生した場合

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。