Make BufferedReader是从.txt文件的中间开始而不是从头开始?

我有一个包含近6000行的LONG .txt文件! 有时我需要检索信息。 在5000行。是否可以从5000行开始阅读而不是从头开始?

谢谢。

6000线是否长是取决于平均线长。 即使每行100个字符,这也不算长。

不过,如果您知道第5000行的起点,您可以从第5000行读取。 不幸的是,大多数情况下你必须阅读1到4999行来找出它。

由于5000行不是那么大,它将执行顺序文件访问,这个简单的想法可以工作:

BufferedReader in = new BufferedReader(new InputStreamReader(fileName)); for (int i = 0; i < 5000 && in.ready; in.readLine()) { } if (in.ready()) { // you are at line 5000; } else { // the file is smaller than 5000 lines } 

另一个想法是使用bufferedRead.skip(n)方法,但对于它,每一行应该具有相同的长度。 例如,每行包含100个字符,您需要执行以下操作:

 int ls = System.getProperty("line.separator").length(); in.skip((100 + ls) * 5000); 

我相信java中的BufferedReader有一个skip方法,它允许你跳过x个字符。 要达到特定的路线要困难得多。

编辑: find它