首页 >Java >java教程 >Java中如何高效地读取文件中的特定行?

Java中如何高效地读取文件中的特定行?

DDD
DDD原创
2024-12-16 14:31:12814浏览

How Can I Efficiently Read a Specific Line from a File in Java?

在 Java 中从文件中读取特定行

在 Java 中,可以使用多种方法来实现从文件中读取特定行。本文探讨了两种根据行号访问特定行的方法。

小文件

对于小文本文件,一个简单的解决方案是将所有行读入列表中然后使用其索引检索所需的行。 Files.readAllLines(Path) 方法可用于读取所有行,如下所示:

String line32 = Files.readAllLines(Paths.get("file.txt")).get(32);

但是,这种方法对于大文件效率不高,因为它将整个文件加载到内存中。

大文件

对于大文件,避免加载完整文件的另一种方法是使用Skip() 和 findFirst() 方法。在这里,我们跳过前 n-1 行,然后检索第 n 行:

try (Stream<String> lines = Files.lines(Paths.get("file.txt"))) {
    line32 = lines.skip(31).findFirst().get();
}

这种方法对于大文件更有效,因为它逐行流式传输,最大限度地减少内存使用。

以上是Java中如何高效地读取文件中的特定行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn