我有一个包含近6000行的LONG .txt文件!有时我需要检索信息。在第5000行。是否可以从第5000行开始阅读而不是从头开始阅读?
感谢。
答案 0 :(得分:3)
6000线是否长,取决于平均线长。即使每行100个字符,这也不会很长。
然而,如果您知道第5000行的起点,您可以从第5000行读取。不幸的是,大多数情况下你必须阅读第1到第4999行来找出它。
答案 1 :(得分:2)
由于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);
答案 2 :(得分:0)
我相信java中的BufferedReader有一个skip方法,它允许你跳过x个字符。要达到特定的路线要困难得多。
修改:Found it