Zum Beispiel möchte ich eine Textdatei von Zeile Nummer 20056 bis Zeile 1159450 lesen und es in das Ausgabefenster ausgeben, aber ich weiß nicht, wie das geht, wie die Methode line.readline()
mit der ersten Zeile beginnt.Wie lese ich von einer bestimmten Zeile bis zu einer bestimmten Zeile?
Dies ist mein Code:
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();
Wie drucke ich nur von der Linie 20.056 bis 1.159.450 Linie und gibt sie in den Ausgabefenster?
In Ihrer ersten "while" -Schleife bringen Sie Ihren Leser nicht voran. Wenn Sie 'reader.readLine()' innerhalb der Schleife aufrufen, wird bei jeder Iteration eine Zeile verwendet. – khelwood
Mögliches Duplikat von [Wie lese ich eine bestimmte Zeile mit der spezifischen Zeilennummer aus einer Datei in Java?] (Http://stackoverflow.com/questions/2312756/how-to-read-a-specific-line-using-) Die spezifische Zeile-Nummer-aus-einer-Datei-in-Java) – MordechayS
Ähnliche Fragen hier: http://stackoverflow.com/questions/14217997/java-how-to-use-bufferedreader-to-read- specific-line –