Einführung
In diesem Artikel erfahren Sie verschiedene Möglichkeiten, wie Sie Java verwenden können, um den Inhalt einer Datei zeilenweise zu lesen. Dieser Artikel verwendet Methoden aus den folgenden Java-Klassen: java.io.BufferedReader
, java.util.Scanner
, Files.readAllLines()
und java.io.RandomAccessFile
.
Lesen einer Datei zeilenweise mit BufferedReader
Sie können die Methode readLine()
von java.io.BufferedReader
verwenden, um eine Datei zeilenweise als String zu lesen. Diese Methode gibt null
zurück, wenn das Ende der Datei erreicht ist.
Hier ist ein Beispielprogramm zum zeilenweisen Lesen einer Datei mit BufferedReader
:
package com.journaldev.readfileslinebyline;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLineUsingBufferedReader {
public static void main(String[] args) {
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("sample.txt"));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
// nächste Zeile lesen
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Setzen Sie Ihr Lernen fort mit der BufferedReader
API-Dokumentation (Java SE 8).
Das Lesen einer Datei Zeile für Zeile mit Scanner
Sie können die Klasse Scanner
verwenden, um eine Datei zu öffnen und dann deren Inhalt zeilenweise zu lesen.
Hier ist ein Beispielprogramm zum Lesen einer Datei zeilenweise mit Scanner
:
package com.journaldev.readfileslinebyline;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileLineByLineUsingScanner {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("sample.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Setzen Sie Ihr Lernen mit der Scanner
-API-Dokumentation (Java SE 8) fort.
Das Lesen einer Datei Zeile für Zeile mit Files
java.nio.file.Files
ist eine Hilfsklasse, die verschiedene nützliche Methoden enthält. Die Methode readAllLines()
kann verwendet werden, um alle Zeilen der Datei in eine Liste von Strings zu lesen.
Hier ist ein Beispielprogramm zum Lesen einer Datei zeilenweise mit Files
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadFileLineByLineUsingFiles {
public static void main(String[] args) {
try {
List<String> allLines = Files.readAllLines(Paths.get("sample.txt"));
for (String line : allLines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Fahren Sie mit dem Lernen fort mit der Files
-API-Dokumentation (Java SE 8).
Lesen einer Datei zeilenweise mit RandomAccessFile
Sie können RandomAccessFile
verwenden, um eine Datei im Lese-Modus zu öffnen und dann die Methode readLine
zu verwenden, um eine Datei zeilenweise zu lesen.
Hier ist ein Beispielprogramm zum zeilenweisen Lesen einer Datei mit RandomAccessFile
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileLineByLineUsingRandomAccessFile {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("sample.txt", "r");
String str;
while ((str = file.readLine()) != null) {
System.out.println(str);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Fahren Sie mit dem Lernen fort mit der RandomAccessFile
-API-Dokumentation (Java SE 8).
Schlussfolgerung
In diesem Artikel haben Sie verschiedene Möglichkeiten kennengelernt, wie Sie Java verwenden können, um den Inhalt einer Datei zeilenweise zu lesen.
Fahren Sie mit Ihrem Lernen fort mit weiteren Java-Tutorials.
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line