Computer-Masters.de > Artikel > Programmieren > Java > Java: Datei zeilenweise einlesen - BufferedReader

Java: Datei zeilenweise einlesen - BufferedReader

Java Buffered Reader

Möchte man Textdateien in Programmen verwenden, so bietet es sich häufig an, diese zeilenweise auszulesen. Die Java Bibliothek stellt daher für diesen Anwendungsfall den BufferedReader bereit.

Lernen Sie hier anhand eines Beispielcodes, wie man den BufferedReader verwendet.


Java Code

        BufferedReader bufferedReader = null;
        //Der Pfad zur Textdatei
        String filePath ="C:/beispiel.txt";
        File file = new File(filePath);
        try {
            //Der BufferedReader erwartet einen FileReader. 
            //Diesen kann man im Konstruktoraufruf erzeugen.
            bufferedReader = new BufferedReader(new FileReader(file));
          String line;
          //null wird bei EOF oder Fehler zurueckgegeben
          while (null != (line = bufferedReader.readLine())) {
            //Zeile auf der Konsole ausgeben
            System.out.println(line);
            //Hier kann Ihr Code stehen ...
          }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
          if (null != bufferedReader) {
            try {
              bufferedReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
          }
        }
1

Der gezeigte Code gibt die Datei "C:/beispiel.txt" zeilenweise auf der Konsole aus.

Mit bufferedReader.readLine() wird jeweils eine Zeile der Datei ausgelesen und als String zurückgegeben. null wird beim Dateiende (EOF) oder einem Fehler zurückgegeben.

Die Hauptschwierigkeit bei der Verwendung des BufferedReader besteht darin, die I/O-Exceptions richtig abzufangen. Diese sind bei der Verwendung von Dateien leider nicht zu vermeiden und immer zu berücksichtigen.

Mit bufferedReader.close() wird der bufferedReader wieder geschlossen. Hierbei ist darauf zu achten, dass dies in jedem Fall geschehen muss (finally), insbesondere wenn Exceptions aufgetreten sind. Außerdem kann es auch sein, dass der bufferedReader überhaupt nicht instanziiert wurde, deshalb erfolgt vorher eine Prüfung auf null.

Nicht zu vergessen, die benötigten Imports aus der Java Bibliothek:


Java Code

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
1

Links

Dieser Artikel ist auch auf Englisch verfügbar / This article is also available in English:

Computer-Masters.de > Artikel > Programmieren > Java > Java: Datei zeilenweise einlesen - BufferedReader

Anzeige: