Zum Auslesen einer Datei braucht man in Java viele Helferlein. Streams, Reader und Builder spielen dabei die Hauptrollen. Um etwas Licht in den Dschungel zu bringen, habe ich eine einfache Java-Anwendung geschrieben, die eine Datei zeilenweise auslesen kann und dann auf der Konsole ausgibt.
Datei die ausgelesen werden soll: C:/Test.txt
1 2 3 | Zeile 1 Zeile 2 Zeile 3 |
Java-Programm: Main.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws FileNotFoundException, IOException { String filePath = "C:/Test.txt"; File file = new File(filePath); if(file.isFile()) { // Initial setup FileInputStream inputStream = new FileInputStream(file); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuilder stringBuilder = new StringBuilder(); // Read everything into a StringBuilder stringBuilder.append(bufferedReader.readLine()); while(bufferedReader.ready()) { stringBuilder.append("\r\n"); stringBuilder.append(bufferedReader.readLine()); } // Print the content of the file on the screen System.out.println(stringBuilder.toString()); } } } |
Ausgabe auf der Kommandozeile:
1 2 3 | Zeile 1 Zeile 2 Zeile 3 |
Weiteres Code-Beispiel
public void parseConfig(URL resource) { File file = new File(resource.getFile()); StringBuilder sb = new StringBuilder(); String line; // try-with-resources try ( FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); BufferedReader br = new BufferedReader(isr)) { while ((line = br.readLine()) != null) { sb.append(line); } } catch (IOException ex) { // } finally { System.out.println(sb.toString()); } } |