java.lang.Object
java.io.Writer
java.io.BufferedWriter
- すべての実装されたインタフェース:
Closeable
,Flushable
,Appendable
,AutoCloseable
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()メソッドを呼び出すたびに文字をバイトに変換してただちにファイルに書き込むので、効率が非常に悪くなります。
- 導入されたバージョン:
- 1.1
- 関連項目:
-
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタ説明BufferedWriter
(Writer out) デフォルト・サイズの出力バッファでバッファリングされた、文字型出力ストリームを作成します。BufferedWriter
(Writer out, int sz) 指定されたサイズの出力バッファでバッファリングされた、文字型出力ストリームを新しく作成します。 -
メソッドのサマリー
-
コンストラクタの詳細
-
BufferedWriter
public BufferedWriter(Writer out) デフォルト・サイズの出力バッファでバッファリングされた、文字型出力ストリームを作成します。- パラメータ:
out
- Writer
-
BufferedWriter
public BufferedWriter(Writer out, int sz) 指定されたサイズの出力バッファでバッファリングされた、文字型出力ストリームを新しく作成します。- パラメータ:
out
- Writersz
- 出力バッファのサイズ。正の整数- 例外:
IllegalArgumentException
-sz <= 0
の場合
-
-
メソッドの詳細
-
write
public void write(int c) throws IOException 単一の文字を書き込みます。- オーバーライド:
write
、クラスWriter
- パラメータ:
c
- 書き込まれる文字を指定するint- 例外:
IOException
- 入出力エラーが発生した場合
-
write
public void write(char[] cbuf, int off, int len) throws IOException 文字の配列の一部を書き込みます。通常このメソッドは、指定された配列からこのストリームのバッファへ文字を格納し、必要に応じてベースとなるストリームにバッファをフラッシュします。 しかし、要求された長さがこのストリームのバッファと同じ大きさ以上の場合、このメソッドはバッファをフラッシュし、その文字を直接ベースとなるストリームに書き込みます。 このため、余分な
BufferedWriter
がデータを不必要にコピーすることがありません。- 定義:
write
、クラスWriter
- パラメータ:
cbuf
- 文字型配列off
- 文字の読込み開始オフセットlen
- 書き込む文字数- 例外:
IndexOutOfBoundsException
-off
が負の場合、またはlen
が負の場合、またはoff + len
が負の場合、または指定された配列の長さより大きい場合IOException
- 入出力エラーが発生した場合
-
write
public void write(String s, int off, int len) throws IOException Stringの一部を書き込みます。- オーバーライド:
write
、クラスWriter
- 実装要件:
len
が負またはoff + len
負の場合、IndexOutOfBoundsException
がスローされることをsuperclassのこのメソッドの仕様は推奨しますが、このクラスの実装はこのような例外をスローせず、単に文字を書きません。- パラメータ:
s
- 書き込まれる文字列off
- 文字の読込み開始オフセットlen
- 書き込む文字数- 例外:
IndexOutOfBoundsException
-off
が負の場合、またはoff + len
が指定された文字列の長さより大きい場合IOException
- 入出力エラーが発生した場合
-
newLine
public void newLine() throws IOException改行文字を書き込みます。 行セパレータ文字列は、システム・プロパティline.separator
で定義され、必ずしも1つの改行('\n')文字ではありません。- 例外:
IOException
- 入出力エラーが発生した場合
-
flush
public void flush() throws IOExceptionストリームをフラッシュします。- 定義:
flush
、インタフェースFlushable
- 定義:
flush
、クラスWriter
- 例外:
IOException
- 入出力エラーが発生した場合
-
close
public void close() throws IOException次のクラスからコピーされた説明:Writer
ストリームを最初にフラッシュして、閉じます。 ストリームが閉じられたあとにwrite()またはflush()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。- 定義:
close
、インタフェースAutoCloseable
- 定義:
close
、インタフェースCloseable
- 定義:
close
、クラスWriter
- 例外:
IOException
- 入出力エラーが発生した場合
-