Java 文本阅读器,允许我寻找不同的行
我正在寻找一个文本阅读器,支持基于线的搜索。我希望它也支持编码。例如,它可能有一个如下所示的方法Java 文本阅读器,允许我寻找不同的行,java,file-io,Java,File Io,我正在寻找一个文本阅读器,支持基于线的搜索。我希望它也支持编码。例如,它可能有一个如下所示的方法 seekLines(n, seekType) - goes to a particular line based on the seek type seek类型类似于二进制文件的处理方式:从文件开始,从当前位置,可能从结尾 例如,假设我有以下几行: 1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, 2 sed do e
seekLines(n, seekType) - goes to a particular line based on the seek type
seek类型类似于二进制文件的处理方式:从文件开始,从当前位置,可能从结尾
例如,假设我有以下几行:
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
seek(1, BEGIN);
然后去3号线。如果我说
seek(1, CURRENT); // arbitrary constant
seek(1, BEGIN);
它将去1号线
是否有提供此功能的库?您需要文本行的索引才能转到随机行。最简单的解决方案是将所有行读入
列表
,然后随机查找
如果无法在内存中容纳所有文本,则可以为所有行编制索引。这可以惰性地对内存映射文件执行,因此它不必使用重要的堆。您需要阅读到您要查找的点的所有行,但您只需阅读一次。4K用户应该知道这是离题的……关于库的问题在帮助中心中定义的主题上。但是“要求我们推荐或查找工具、库或喜爱的非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引固执己见的答案和垃圾邮件。"? 你文章的开头看起来像是对你最后要求的库的一系列要求。是的,我想知道是否有人使用过提供这种功能的库。我想我可以把这个问题概括为“这就是我如何做到的,但我不喜欢这些事情是如何实现的,如何才能做到?”然后希望有人推荐一个他们正在使用的库,以避免重新发明轮子。不,让我们保持有趣,并说文件比堆大。在程序中吸取所有信息:)谢谢,目前我有自己的类,在内部使用BufferedInputReader将其读入arraylist,并按照建议使用索引。行索引是我没有想到的一种有趣的方法(因为到目前为止,所有用例都是合理的文件大小)