Util方法逐行获取



是否有任何Util方法从给定文件中获得行#的内容?

最简单的方法是将所有行读入列表中,并在该列表中按编号查找行。你可以使用

List<String> lines = FileUtils.readLines(file);

我的文件是3GB的,我不想把所有的行都存储在我的java内存

我会确保你有足够的内存。你可以用不到200美元买到32 GB。

但是,假设这不是一个选项,您可以通过一次读取来索引文件,将每行的偏移量存储在另一个文件中。它可以是一个32位偏移量,但如果你使用64位偏移量,它会更简单/更可伸缩。

然后可以查找每行和下一行的偏移量,以确定读取每行的位置。如果有效地实现,我预计这大约需要10微秒。

如果你把它加载到Java内存中,它将会快100倍。

相关内容

  • 没有找到相关文章

最新更新