我遇到一个大文件(很多 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/