java - 一次,java最适合从文本文件读取所有数据的方法?

  显示原文与译文双语对照的内容
69 4

我有一个文本文件,我想把它的全部内容读入一个字符串变量。当我使用方法的时,将文件以InputStream的形式打开。

把整个内容读成字符串的最佳实践是什么?我当前用InputStreamReader打包了一个 with,然后使用一个with循环,在文本行中使用 readLine() 方法读取。

是否有更好的阅读方式,考虑到我没有需要按行阅读,如果有可以能的话,我想要一切。

时间:原作者:0个回答

58 3

一般不应该重新创建轮子,因这里使用on库,如果在Android上支持开销。使用 org.apache.commons.io.IOUtils.toString

InputStream in = new FileInputStream(new File("a.txt"));
String s = IOUtils.toString(in,"UTF-8");
原作者:
116 4

我希望它是一个非常好的方法,它将会是一个很好的方法:

public static List<String> readAllLines(Path path, Charset cs) throws IOException {
 try (BufferedReader reader = newBufferedReader(path, cs)) {
 List<String> result = new ArrayList<String>();
 for (;;) {
 String line = reader.readLine();
 if (line == null)
 break;
 result.add(line);
 }
 return result;
 }
}

如果是这样,可以将字符串附加到 StringBuilder,而不是将它们添加到列表中。

原作者:
...