Например, я хочу прочитать текстовый файл с номера строки 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.readLine()' внутри цикла, он будет использовать линию каждую итерацию. – khelwood
Возможный дубликат [Как прочитать определенную строку с использованием определенного номера строки из файла в Java?] (Http://stackoverflow.com/questions/2312756/how-to-read-a-specific-line-using- – MordechayS
Аналогичный вопрос здесь: http://stackoverflow.com/questions/14217997/java-how-to-use-bufferedreader-to-read- specific-line –