Heim >Java >javaLernprogramm >Wie kann ich bestimmte Zeilen aus einer Datei in Java effizient lesen?
Bestimmte Zeilen aus einer Datei in Java lesen
Das Abrufen bestimmter Zeilen aus einer Datei kann in verschiedenen Szenarien nützlich sein. Java bietet mehrere Möglichkeiten, diese Aufgabe zu erfüllen, insbesondere wenn mit kleinen und großen Dateien gearbeitet wird.
Kleine Dateien
Wenn die Dateigröße relativ klein ist, ist dies der einfachste Ansatz besteht darin, die gesamte Datei in den Speicher einzulesen und dann auf die gewünschte Zeile zuzugreifen. Dies kann mit der Methode Files.readAllLines() erreicht werden:
String line32 = Files.readAllLines(Paths.get("file.txt")).get(32);
In diesem Beispiel stellt der Teil Paths.get("file.txt") den Dateipfad dar und readAllLines() liest den gesamten Datei und speichert jede Zeile als String in einer Liste. Durch die Verwendung von get(32) können wir direkt auf die 32. Zeile der Liste zugreifen.
Große Dateien
Bei großen Dateien kann es sinnvoll sein, die gesamte Datei in den Speicher zu lesen ineffizient. In solchen Fällen kann die Methode Files.lines() verwendet werden, um die Datei Zeile für Zeile zu verarbeiten:
try (Stream<String> lines = Files.lines(Paths.get("file.txt"))) { line32 = lines.skip(31).findFirst().get(); }
Hier erstellt Files.lines() einen Zeilenstrom aus der Datei. Die Methode „skip(31)“ überspringt die ersten 31 Zeilen und findFirst() ruft die 32. Zeile ab. Schließlich wandelt get() den optionalen Wert in einen String um.
Dieser Ansatz ermöglicht es Ihnen, die Datei effizient zu durchlaufen und die gewünschte Zeile abzurufen, ohne die gesamte Datei in den Speicher laden zu müssen.
Das obige ist der detaillierte Inhalt vonWie kann ich bestimmte Zeilen aus einer Datei in Java effizient lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!