java - 如何跳转到特定行并从 java 中读取

标签 java file nio

我遇到一个大文件(很多 GB),我想直接跳转到特定行,然后从中读取一些行...

例如,我有这样的文件

1.aaaaaaaaaaaa
2.bbbbbbbbbbbb
3.cccccccccccc
4.dddddddddddd

并且想要读取第 3 行和第 4 行。 现在不使用“readLine()”来处理 1....2 行,而是盯着 3 行并读取 2 行。

我怎样才能在java中做到这一点? ....因为我不想让太多对象在内存中...

谢谢你!

最佳答案

如果您知道要跳转的偏移量(而不仅仅是行号),那么您可以使用 RandomAccessFile 和skip 方法。在你的情况下,如果你的线确实全部相等,你可以计算偏移量和跳跃。

否则,如果您只是根据行号进行跳转,则必须使用 BufferedReader 或使用 FilterReader 逐行读取所有文件,或者通过自己缓冲一个巨大的字符选项卡并计算行数,无论您如何并开始只考虑您想要的数据部分。

处理大量数据的另一个不错的选择是数据库......

问候, 史蒂芬

关于java - 如何跳转到特定行并从 java 中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6985721/

相关文章:

Python:获取字符串索引的行号和列号?

javascript - 如何在 JavaScript 中访问另一个文件中的对象和类

java - Netty有Redis库吗?

java - ChannelInputStream 跳过方法很慢

java - JExcel : Losing Cell Precison On Cells Having Formula ROUNDUP in MS Excel

java - print 阻塞 BufferedReader 输入?

Java:PDF 转换器在 Mac 中工作,但在 Windows 中,生成空的 PDF 文件

java - 使用 java 套接字向多个客户端传输大文件的最佳方法

java - 在基本 SQLite 页面上找不到方法 addButtonClick

java - 程序终止时遇到问题