Java BufferedWriter
BufferedWriter
BufferedWriter 类用于一次写入一行或一个字符串到文件中。如果文件已存在,则会替换(覆盖)其内容。
写入文本文件
使用 BufferedWriter 和 FileWriter 向文件中写入文本。write() 方法用于添加文本,您可以使用 newLine() 插入换行符。
示例
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter("filename.txt"))) {
bw.write("First line");
bw.newLine(); // add line break
bw.write("Second line");
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("Error writing file.");
}
}
}
输出结果为:
Successfully wrote to the file.
说明: 此程序创建(或覆盖)filename.txt 文件,并向其中写入两行文本。newLine() 方法会在"第一行"和"第二行"之间插入一个换行符。如果一切顺利,控制台将打印"成功写入文件。"
追加到文本文件
要将新内容添加到文件末尾(而不是覆盖原有内容),请将 true 传递给 FileWriter:
示例
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
// true = append mode
try (BufferedWriter bw = new BufferedWriter(new FileWriter("filename.txt", true))) {
bw.newLine(); // 移到新行
bw.write("Appended line"); // 在末尾添加新文本
System.out.println("Successfully appended to the file.");
} catch (IOException e) {
System.out.println("Error writing file.");
}
}
}
输出结果为:
Successfully appended to the file.
说明: 此程序保留文件 filename.txt 的现有内容,并在末尾添加一行文本 "追加行"。如果一切正常,控制台将打印 "成功追加到文件。"
文件写入类比较
Java 提供了多种文件写入方式。以下是每种方式的适用场景:
FileWriter- 最适合简单的文本写入。快速易用。BufferedWriter- 更适合较大的文本文件,因为它速度更快,并且可以使用newLine()轻松添加换行符。FileOutputStream- 最适合二进制文件(例如图像、PDF 或音频)。

