答案:使用BufferedWriter可高效写入文本文件。先创建FileWriter并包装为BufferedWriter,调用write()写入内容,newLine()换行,close()释放资源;通过Files.createDirectories()确保路径存在,FileWriter(filePath, true)实现追加写入,推荐使用try-with-resources自动管理资源。

在Java中使用BufferedWriter写入文件是一种高效且常用的方式,特别适合处理大量文本数据。它通过缓冲机制减少实际的I/O操作次数,从而提升写入性能。
创建BufferedWriter并写入文件
步骤说明: 要使用BufferedWriter,你需要将其与FileWriter或OutputstreamWriter结合使用。以下是基本流程:
- 创建一个
FileWriter对象,指向目标文件 - 将
FileWriter包装进BufferedWriter - 调用
write()方法写入字符串 - 使用
newLine()换行(可选) - 最后记得调用
close()释放资源
示例代码:
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class WriteToFile { public static void main(String[] args) { String filePath = "output.txt"; try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) { writer.write("第一行内容"); writer.newLine(); writer.write("第二行内容"); writer.newLine(); writer.write("完成写入。"); } catch (IOException e) { System.err.println("写入文件时出错:" + e.getMessage()); } } }
自动创建文件和路径
如果目标目录不存在,FileWriter会抛出异常。你可以提前检查并创建目录:
import java.nio.file.*; // 确保目录存在 Path path = Paths.get(filePath); Files.createDirectories(path.getParent()); try (BufferedWriter writer = new BufferedWriter(new FileWriter(path.toFile()))) { writer.write("安全写入,目录已准备"); }
追加内容到已有文件
默认情况下,FileWriter会覆盖原文件。如需追加内容,创建FileWriter时传入true参数:
立即学习“Java免费学习笔记(深入)”;
new BufferedWriter(new FileWriter(filePath, true))
这样新写入的内容会添加到文件末尾,而不是替换原有内容。
使用try-with-resources自动管理资源
推荐始终使用try-with-resources语法,它能确保无论是否发生异常,BufferedWriter都会被正确关闭,避免资源泄漏。
基本上就这些。掌握BufferedWriter后,你可以高效地向文件写入文本内容,同时保持代码简洁可靠。


