我想从文本文件中读取特定的行,但是我不想将文件加载到内存中(它可以变得非常大)。Java阅读第n行
我一直在寻找,但我发现每一个例子都需要阅读每一行(这会减慢我的代码,因为有超过100,000行)或将整个东西加载到数组中,并获得正确的元素(文件将有很多行输入)。
什么,我想要做的一个例子:
String line = File.getLine(5);
“的代码是不实际的代码,它是由以显示我想要什么”的原则
有没有办法做到这个?
----- -----编辑
我刚刚意识到这个文件将被写入过在读线之间(添加到文件的末尾)。
通过100000行文件的每一行读取是一个非常快速的操作,为什么你认为这是一个问题? – Keppil 2013-04-24 19:59:43
[skip](http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html#skip(long))怎么样?但是,你需要一个固定的行长度或每行的行起始位置,或者至少想到行长度和每行唯一的ID(在这种情况下,你可能需要一个[随机访问文件](http:///docs.oracle.com/javase/tutorial/essential/io/rafs.html)如果你超调)。 – Dukeling 2013-04-24 20:04:06
尝试在RandomAccessFile中使用seek(long pos)方法,然后使用readLine()获取数据。 – VKPRO 2013-04-24 20:08:44