Java Language
BufferedWriter
サーチ…
構文
- 新しいBufferedWriter(Writer); //デフォルトコンストラクタ
- BufferedWriter.write(int c); //単一の文字を書き込みます。
- BufferedWriter.write(String str); //文字列を書き込みます。
- BufferedWriter.newLine(); //行区切り文字を書き込みます。
- BufferedWriter.close(); // BufferedWriterを閉じます。
備考
- あなたからの書き込みをしようとすると
BufferedWriter
(使用してBufferedWriter.write()
閉じた後)BufferedWriter
(使用してBufferedWriter.close()
それがスローされますIOException
。 -
BufferedWriter(Writer)
コンストラクタはIOException
スローしません。ただし、FileWriter(File)
コンストラクターはIOException
を拡張するFileNotFoundException
スローします。だから、IOException
をキャッチするとFileNotFoundException
もキャッチされますが、FileNotFoundException
と何か違うことをする計画がない限り、2番目のcatch文は必要ありません。
ファイルにテキスト行を書く
このコードは文字列をファイルに書き込みます。ライターを閉じることは重要です。だから、これはfinally
ブロックで行われます。
public void writeLineToFile(String str) throws IOException {
File file = new File("file.txt");
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(file));
bw.write(str);
} finally {
if (bw != null) {
bw.close();
}
}
}
また、 write(String s)
は、文字列が書き込まれた後に改行文字を配置しないことにも注意してください。それを入れるには、 newLine()
メソッドを使用します。
Java SE 7
Java 7は、 java.nio.file
パッケージとtry-with-resourcesを追加します。
public void writeLineToFile(String str) throws IOException {
Path path = Paths.get("file.txt");
try (BufferedWriter bw = Files.newBufferedWriter(path)) {
bw.write(str);
}
}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow