logo

So lesen Sie eine Datei Zeile für Zeile in Java

Es gibt folgende Möglichkeiten, eine Datei Zeile für Zeile zu lesen.

  • BufferedReader-Klasse
  • Scannerklasse

Verwenden der BufferedReader-Klasse

Die Verwendung der Java-Klasse BufferedRedaer ist die gebräuchlichste und einfachste Möglichkeit, eine Datei Zeile für Zeile in Java zu lesen. Es gehört java.io Paket. Die Java-Klasse BufferedReader bietet die Methode readLine() zum zeilenweisen Lesen einer Datei. Die Signatur der Methode lautet:

 public String readLine() throws IOException 

Die Methode liest eine Textzeile. Es gibt eine Zeichenfolge zurück, die den Inhalt der Zeile enthält. Die Zeile muss durch einen Zeilenvorschub (' ') oder einen Wagenrücklauf (' ') abgeschlossen werden.

Beispiel für das zeilenweise Lesen einer Datei mithilfe der BufferedReader-Klasse

Im folgenden Beispiel wird Demo.txt von der FileReader-Klasse gelesen. Die readLine()-Methode der BufferedReader-Klasse liest die Datei Zeile für Zeile und hängt jede Zeile an StringBuffer an, gefolgt von einem Zeilenvorschub. Der Inhalt des StringBuffer wird dann an die Konsole ausgegeben.

 import java.io.*; public class ReadLineByLineExample1 { public static void main(String args[]) { try { File file=new File('Demo.txt'); //creates a new file instance FileReader fr=new FileReader(file); //reads the file BufferedReader br=new BufferedReader(fr); //creates a buffering character input stream StringBuffer sb=new StringBuffer(); //constructs a string buffer with no characters String line; while((line=br.readLine())!=null) { sb.append(line); //appends line to string buffer sb.append('
'); //line feed } fr.close(); //closes the stream and release the resources System.out.println('Contents of File: '); System.out.println(sb.toString()); //returns a string that textually represents the object } catch(IOException e) { e.printStackTrace(); } } } 

Ausgabe:

So lesen Sie eine Datei Zeile für Zeile in Java

Verwendung der Scanner-Klasse

Java Scanner Die Klasse bietet im Vergleich zur BufferedReader-Klasse mehr Hilfsmethoden. Die Java-Scanner-Klasse stellt die Methode nextLine() bereit, um den zeilenweisen Inhalt der Datei zu erleichtern. Die nextLine()-Methode gibt denselben String zurück wie die readLine()-Methode. Die Scanner-Klasse kann auch eine Datei aus InputStream lesen.

Beispiel für das zeilenweise Lesen einer Datei mithilfe der Scanner-Klasse

 import java.io.*; import java.util.Scanner; public class ReadLineByLineExample2 { public static void main(String args[]) { try { //the file to be opened for reading FileInputStream fis=new FileInputStream('Demo.txt'); Scanner sc=new Scanner(fis); //file to be scanned //returns true if there is another line to read while(sc.hasNextLine()) { System.out.println(sc.nextLine()); //returns the line that was skipped } sc.close(); //closes the scanner } catch(IOException e) { e.printStackTrace(); } } } 

Ausgabe:

So lesen Sie eine Datei Zeile für Zeile in Java