Im Beispiel wird zunächst ein File-Objekt der auszulesenden
Datei gebildet, die anschließend auf Existenz und
Lesbarkeit geprüft wird. Ein leerer StringBuffer
wird instanziert. Er stellt eine im Gegensatz zum String
veränderbare Character-Sequenz dar.
Innerhalb einer
while-Schleife liest der FileReader die einzelnen
Characters einschließlich Zeilenumbrüchen,
Tabulatoren, etc. in Form von (Unicode-)int -Werten
aus. Sie müssen anschließend, bevor sie dem StringBuffer
hinzugefügt werden, zu char gecastet werden. Nach
Abschluss der Operation müssen der FileReader
geschlossen und der StringBufferr noch zu String
gecastet werden.
Da der FileReader bei Problemen
eine IOException werfen kann, wird der Lesevorgang in
einem try-catch-Block gekapselt.
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class DateiAuslesenClass {
private static void ladeDatei(String datName) {
File file = new File(datName);
if (!file.canRead() || !file.isFile())
System.exit(0);
FileReader fr = null;
int c;
StringBuffer buff = new StringBuffer();
try {
fr = new FileReader(file);
while ((c = fr.read()) != -1) {
buff.append((char) c);
}
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(buff.toString());
}
public static void main(String[] args) {
String dateiName = "test.txt";
ladeDatei(dateiName);
}
}
Eine weitere bequeme Möglichkeit, um eine Datei auszulesen, stellt die Klasse Scanner zur Verfügung. Siehe hierzu auch den gleichnamigen Artikel.