【发布时间】:2017-03-06 15:03:11
【问题描述】:
例如,我想从第 20056 行到第 1159450 行读取一个文本文件并将其输出到输出窗口,但我不知道该怎么做,因为方法 line.readline() 从第一行开始。
这是我的代码:
String line;
int currentLineNo = 1;
int startLine = 20056;//40930;
int endLine = 1159450;
FileReader file = new FileReader("yourfilepath");
BufferedReader reader = new BufferedReader(file);
PrintWriter writer = new PrintWriter("yourfilepath", "UTF-8");
while (currentLineNo < startLine) {
currentLineNo++;
}
while(currentLineNo >= startLine && currentLineNo <= endLine) {
// System.out.println(currentLineNo);
line = reader.readLine();
System.out.println(line);
// writer.println(line);
currentLineNo++;
}
reader.close();
writer.close();
如何仅从第 20056 行到第 1159450 行打印并将其输出到输出窗口?
【问题讨论】:
-
在您的第一个
while循环中,您并没有推进您的reader。如果在循环内调用reader.readLine(),每次迭代都会用完一行。 -
如何将 readLine 与 currentLineNo @khelwood 关联?
-
我如何不阅读我不想要的前几行? @khelwood
标签: java bufferedreader filereader readline printwriter