Wie kann eine Textdatei zeilenweise ausgelesen werden?

Mit Hilfe eines BufferedReader kann eine textbasierte Datei zeilenweise ausgelesen werden.

In der main-Methode des Beispiels wird die Methode ladeDatei() aufgerufen, der der Dateiname der auszulesenden Datei als Parameter übergeben wird. In ihr wird zunächst die Existenz der Datei und ihre Lesbarkeit überprüft.
Der folgende try-catch-Block fängt Fehler ab, die während des Auslesens der Datei auftreten können.
Der Vorgang selbst wird durch einen BufferedReader durchgeführt, dem ein FileReader übergeben wird, der wiederum den Dateinamen als Argument erhält. Die Klasse BufferedReader enthält die Methode readLine(), die ein String-Objekt zurückgibt. In einer while-Schleife wird sie so lange aufgerufen, wie nicht null zurück gegeben wird.
Die Ausgabe wird bei jedem Schleifendurchlauf auf der Kommandozeile ausgegeben.

Zur Demonstration wird zusätzlich ein StringBuffer-Objekt erzeugt, dem in der Schleife die ausgelesenen Zeilen zusammen mit einem folgenden Zeilenumbruchszeichen übergeben werden. Nach Beendigung der Schleife kann es in ein String-Objekt gewandelt und weiterverwendet - hier ausgegeben - werden.

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

public class DateiZeilenweiseAuslesenClass {

    private static void ladeDatei(String datName) {

        File file = new File(datName);

        if (!file.canRead() || !file.isFile())
            System.exit(0);

            BufferedReader in = null;
        try {
            in = new BufferedReader(new FileReader(datName));
            String zeile = null;
            while ((zeile = in.readLine()) != null) {
                System.out.println("Gelesene Zeile: " + zeile);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (in != null)
                try {
                    in.close();
                } catch (IOException e) {
                }
        }
    }

    public static void main(String[] args) {
        String dateiName = "test.txt";
        ladeDatei(dateiName);
    }
}