Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文本阅读器,允许我寻找不同的行_Java_File Io - Fatal编程技术网

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,并按照建议使用索引。行索引是我没有想到的一种有趣的方法(因为到目前为止,所有用例都是合理的文件大小)