Java如何读取指定行数的文件

后端 潘老师 7个月前 (10-20) 174 ℃ (0) 扫码查看

学习如何在Java中从文本文件中读取特定行。我们将学习如何为小文件和大文件编写解决方案。

1.读取小文件中的行

如果文件很小,我们可以使用返回字符串列表的方法将整个文件内容读取到内存中。

一旦我们有了字符串列表,我们就可以使用list.get()方法中的合适索引来读取任何行。

Path filePath = Paths.get("C:/temp/file.txt");
List<String> lines = null;
try {
      lines = Collections.unmodifiableList(Files.readAllLines(filePath));
} catch (IOException e) {
      e.printStackTrace();
}
//Read second line
String secondLine = lines.get(1);

请记住,list和数组的索引从零开始。

2.读取大文件中的特定行

使用lines()方法,可以以流的形式懒惰地读取和处理大文件的内容。由于流是懒惰处理的,因此我们可以使用skip()方法跳过某些行数,然后从所需位置开始读取。

Path filePath = Paths.get("C:/temp/file.txt")
//try-with-resources
try (Stream<String> streamOfLines = Files.lines( filePath ))
{
  String secondLine = streamOfLines.skip(1)
      .findFirst()
      .get();
}
catch (IOException e)
{
  e.printStackTrace();
}

3.结论

在这篇简短教程中,我们学习了如何在Java中读取特定行数。我们看到了两种解决方案,其中Files.lines()可以用于小文件和大文件。

第一种解决方案,Files.readAllLines()适合于仅适用于小文件。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10169.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】