Heim >Java >javaLernprogramm >Wie kann ich eine bestimmte Zeile aus einer Datei in Java effizient lesen?
Bestimmte Zeilen aus einer Datei in Java lesen
In Java kann das Lesen einer bestimmten Zeile aus einer Datei mit verschiedenen Methoden erreicht werden. In diesem Artikel werden zwei Ansätze für den Zugriff auf bestimmte Zeilen anhand ihrer Zeilennummern untersucht.
Kleine Dateien
Bei kleinen Textdateien besteht eine einfache Lösung darin, alle Zeilen in eine Liste einzulesen und dann das Abrufen der gewünschten Zeile mithilfe ihres Index. Mit der Methode Files.readAllLines(Path) können alle Zeilen wie folgt gelesen werden:
String line32 = Files.readAllLines(Paths.get("file.txt")).get(32);
Dieser Ansatz ist jedoch für große Dateien nicht effizient, da die gesamte Datei in den Speicher geladen wird.
Große Dateien
Bei großen Dateien besteht eine alternative Methode, die das Laden der gesamten Datei vermeidet, in der Verwendung von skip() und findFirst() Methoden. Hier überspringen wir die ersten n-1 Zeilen und rufen dann die n-te Zeile ab:
try (Stream<String> lines = Files.lines(Paths.get("file.txt"))) { line32 = lines.skip(31).findFirst().get(); }
Dieser Ansatz ist für große Dateien effizienter, da die Zeilen einzeln gestreamt werden, wodurch die Speichernutzung minimiert wird.
Das obige ist der detaillierte Inhalt vonWie kann ich eine bestimmte Zeile aus einer Datei in Java effizient lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!