一、概述
我已经使用下面的习惯用法已有一段时间了。至少在我访问过的网站上,它似乎是分布最广的。
在Java中,是否有更好/不同的方法将文件读取为字符串?
private String readFile(String file) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader (file));
String line = null;
StringBuilder stringBuilder = new StringBuilder();
String ls = System.getProperty("line.separator");
try {
while((line = reader.readLine()) != null) {
stringBuilder.append(line);
stringBuilder.append(ls);
}
return stringBuilder.toString();
} finally {
reader.close();
}
}
二、详解
读取文件的所有内容
Java 11添加了readString()方法来读取小文件,以保留行终止符:
String content = Files.readString(path, StandardCharsets.US_ASCII);
对于介于Java 7和11之间的版本,这是一个紧凑而健壮的习惯用法,