Java:读取一个巨大文件的最后n行

2023-12-09

我想读取一个非常大的文件的最后 n 行,而不使用 Java 将整个文件读入任何缓冲区/内存区域。

我查看了 JDK API 和 Apache Commons I/O,但无法找到适合此目的的一个。

我正在考虑 tail 或 less 在 UNIX 中的做法。我不认为他们加载整个文件然后显示文件的最后几行。 Java 中也应该有类似的方法来做同样的事情。


我发现这是最简单的方法ReversedLinesFileReader from apache commons ioAPI。 此方法将为您提供文件从底部到顶部的行,您可以指定n_linesvalue 指定行数。

import org.apache.commons.io.input.ReversedLinesFileReader;


File file = new File("D:\\file_name.xml");
int n_lines = 10;
int counter = 0; 
ReversedLinesFileReader object = new ReversedLinesFileReader(file);
while(counter < n_lines) {
    System.out.println(object.readLine());
    counter++;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:读取一个巨大文件的最后n行 的相关文章

随机推荐