public class BufferedWriter extends Writer
バッファのサイズは、デフォルト値のままにすることも、特定の値を指定することもできます。デフォルト値は、通常の使い方では十分な大きさです。
システム・プロパティのline.separatorで定義される行区切り文字はプラットフォームに依存するため、newLine()メソッドが提供されています。すべてのプラットフォームが改行文字('\n')で行を終端させるわけではありません。改行文字を直接書き込むよりも、このメソッドを呼び出して行を終了させることをお薦めします。
一般的に、Writerは、その出力をただちにベースとなる文字型ストリームまたはバイト・ストリームに送信します。プロンプト出力を必要とする場合以外では、FileWriterやOutputStreamWriterのようなWriterから直接write()オペレーションを呼び出すのは効率が悪いので、BufferedWriterでラップすることをお薦めします。次に例を示します。
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));この例はPrintWriterのファイルへの出力をバッファリングします。バッファリングしない場合は、print()メソッドを呼び出すたびに文字をバイトに変換してただちにファイルに書き込むので、効率が非常に悪くなります。
コンストラクタと説明 |
---|
BufferedWriter(Writer out)
デフォルト・サイズの出力バッファでバッファリングされた、文字型出力ストリームを作成します。
|
BufferedWriter(Writer out, int sz)
指定されたサイズの出力バッファでバッファリングされた、文字型出力ストリームを新しく作成します。
|
public BufferedWriter(Writer out)
out
- Writerpublic BufferedWriter(Writer out, int sz)
out
- Writersz
- 出力バッファのサイズ。正の整数IllegalArgumentException
- sz <= 0
の場合public void write(int c) throws IOException
write
、クラス: Writer
c
- 書き込まれる文字を指定するintIOException
- 入出力エラーが発生した場合public void write(char[] cbuf, int off, int len) throws IOException
通常このメソッドは、指定された配列からこのストリームのバッファへ文字を格納し、必要に応じてベースとなるストリームにバッファをフラッシュします。しかし、要求された長さがこのストリームのバッファと同じ大きさ以上の場合、このメソッドはバッファをフラッシュし、その文字を直接ベースとなるストリームに書き込みます。このため、余分なBufferedWriter
がデータを不必要にコピーすることがありません。
write
、クラス: Writer
cbuf
- 文字型配列off
- 文字の読込み開始オフセットlen
- 書き込む文字数IOException
- 入出力エラーが発生した場合public void write(String s, int off, int len) throws IOException
lenパラメータの値が負の場合は、文字が書き込まれません。これは、IndexOutOfBoundsException
がスローされる必要があるスーパー・クラスでのこのメソッドの仕様と異なります。
write
、クラス: Writer
s
- 書き込まれる文字列off
- 文字の読込み開始オフセットlen
- 書き込む文字数IOException
- 入出力エラーが発生した場合public void newLine() throws IOException
IOException
- 入出力エラーが発生した場合public void flush() throws IOException
flush
、インタフェース: Flushable
flush
、クラス: Writer
IOException
- 入出力エラーが発生した場合public void close() throws IOException
Writer
close
、インタフェース: Closeable
close
、インタフェース: AutoCloseable
close
、クラス: Writer
IOException
- 入出力エラーが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.