参考文档

如何在Java中逐行读取文件
https://cloud.tencent.com/developer/article/1751572

Java 逐行读取文本文件的几种方式以及效率对比
https://www.jianshu.com/p/7a81f603fe1d

建议

在逐行读取文本内容的需求下, 建议使用 Apache Commons IO 流, 或者 BufferedReader, 既不会过多地占用内存, 也保证了优异的处理速度.

  1. try {
  2. // create a reader instance
  3. BufferedReader br = new BufferedReader(new FileReader("examplefile.txt"));
  4. // read until end of file
  5. String line;
  6. while ((line = br.readLine()) != null) {
  7. System.out.println(line);
  8. }
  9. // close the reader
  10. br.close();
  11. } catch (IOException ex) {
  12. ex.printStackTrace();
  13. }

:::info readLine()方法从文件中读取一行文本,并返回一个包含该行内容的字符串,但不包括任何行终止字符或null。
注意:null值并不表示字符串为空。 而是表明已到达文件末尾。 ::: 另外,您可以使用BufferedReader类中的lines()方法返回行流。 您可以轻松地将此流转换为列表或阅读以下内容:

  1. try {
  2. // create a reader instance
  3. BufferedReader br = new BufferedReader(new FileReader("examplefile.txt"));
  4. // list of lines
  5. List<String> list = new ArrayList<>();
  6. // convert stream into list
  7. list = br.lines().collect(Collectors.toList());
  8. // print all lines
  9. list.forEach(System.out::println);
  10. // close the reader
  11. br.close();
  12. } catch (IOException ex) {
  13. ex.printStackTrace();
  14. }