代码对比
✕ Java 8
StringBuilder sb = new StringBuilder();
try (BufferedReader br =
new BufferedReader(
new FileReader("data.txt"))) {
String line;
while ((line = br.readLine()) != null)
sb.append(line).append("\n");
}
String content = sb.toString();
✓ Java 11+
String content =
Files.readString(Path.of("data.txt"));
发现此代码有问题? 告诉我们。
为什么现代方式更好
一行代码
替代 8 行 BufferedReader 样板代码。
自动关闭
文件自动关闭——无需 try-with-resources。
编码控制
可选的 Charset 参数,默认为 UTF-8。
旧方式
BufferedReader
现代方式
Files.readString()
自 JDK
11
难度
入门
JDK 支持
读取文件
可用
自 JDK 11 起广泛可用(2018 年 9 月)
工作原理
Files.readString() 将文件的全部内容读入 String。它处理编码(默认 UTF-8)并管理文件关闭——不需要 BufferedReader 样板代码。
相关文档