参考文档
如何在Java中逐行读取文件
https://cloud.tencent.com/developer/article/1751572
Java 逐行读取文本文件的几种方式以及效率对比
https://www.jianshu.com/p/7a81f603fe1d
建议
在逐行读取文本内容的需求下, 建议使用 Apache Commons IO 流, 或者 BufferedReader, 既不会过多地占用内存, 也保证了优异的处理速度.
try {
// create a reader instance
BufferedReader br = new BufferedReader(new FileReader("examplefile.txt"));
// read until end of file
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
// close the reader
br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
:::info
readLine()方法从文件中读取一行文本,并返回一个包含该行内容的字符串,但不包括任何行终止字符或null。
注意:null值并不表示字符串为空。 而是表明已到达文件末尾。
:::
另外,您可以使用BufferedReader类中的lines()方法返回行流。 您可以轻松地将此流转换为列表或阅读以下内容:
try {
// create a reader instance
BufferedReader br = new BufferedReader(new FileReader("examplefile.txt"));
// list of lines
List<String> list = new ArrayList<>();
// convert stream into list
list = br.lines().collect(Collectors.toList());
// print all lines
list.forEach(System.out::println);
// close the reader
br.close();
} catch (IOException ex) {
ex.printStackTrace();
}