允许我寻找不同线条的文本阅读器

时间:2014-05-06 19:24:20

标签: java file-io

我正在寻找支持基于行搜索的文本阅读器。我希望它也支持编码。例如,它可能有一个看起来像

的方法
 seekLines(n, seekType) - goes to a particular line based on the seek type

搜索类型与二进制文件的处理方式类似:从文件的开头,从当前位置,可能是从结尾。

例如,假设我有以下几行:

1   Lorem ipsum dolor sit amet, consectetur adipisicing elit,
2   sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
3   Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip

我现在在第2行。如果我说

seek(1, CURRENT); // arbitrary constant

然后它将转到第3行。如果我说

seek(1, BEGIN);

它将转到第1行。

是否有可用的库提供此功能?

1 个答案:

答案 0 :(得分:1)

您需要将文本行的索引转到随机行。最简单的解决方案是将所有行读入List<String>并随机查看。


如果无法将所有文本都放入内存中,则可以索引所有行。这可以懒惰地完成到内存映射文件,因此它不必使用重要的堆。你需要阅读所有你想要的点,但你只需要这样做一次。