如何将文件内容读取为Java字符串(File to String)
大家好!我是Java新手,一直搞不懂如何读取文件。我需要将整个文本文件读入一个String字符串,以便后续处理(例如,按行分割或查找子字符串)。
我尝试自己写代码,但代码很冗长且无法工作:
```java
File file = new File("test.txt");
String content = "";
try {
FileInputStream fis = new FileInputStream(file);
int b;
while ((b = fis.read()) != -1) {
content += (char) b;
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content);
```
问题:
1. 如果文件很大,程序会变慢(我听说在循环中拼接字符串不好)。
2. 未指定编码——在Windows上俄文字符会变成乱码。
3. 如果忘记关闭流,可能会导致内存泄漏。
4. 代码看起来糟糕——对于这么简单的任务来说行数太多了。
请告诉我如何在现代Java中正确且优雅地将文件读取为字符串。