Dateizugriffe realisieren
Aus FI-Wiki
Beim Arbeiten mit Dateien geht es darum, Daten aus Dateien zu lesen, in Dateien zu schreiben oder Dateien zu erstellen, löschen oder verändern. In Java erfolgt dies über die Ein- und Ausgabe-API (I/O), die sowohl Byte- als auch Zeichenströme unterstützt.
Dateien lesen (Input)
Textdateien zeilenweise lesen
BufferedReader reader = new BufferedReader(new FileReader("daten.txt"));
String zeile;
while ((zeile = reader.readLine()) != null) {
System.out.println(zeile);
}
reader.close();
Ganze Datei als Bytes lesen
FileInputStream input = new FileInputStream("bild.jpg");
byte[] daten = input.readAllBytes();
input.close();
Dateien schreiben (Output)
Text in Datei schreiben
BufferedWriter writer = new BufferedWriter(new FileWriter("ausgabe.txt"));
writer.write("Hallo Welt!");
writer.newLine();
writer.write("Weitere Zeile");
writer.close();
Binärdaten schreiben
FileOutputStream out = new FileOutputStream("kopie.jpg");
out.write(daten); // 'daten' ist ein Byte-Array
out.close();
Dateien verwalten
Existenz prüfen
File f = new File("test.txt");
if (f.exists()) {
System.out.println("Datei existiert");
}
Datei löschen
f.delete();
Ordner anlegen
new File("neuerOrdner").mkdir();
Dateien und Ordner auflisten
File ordner = new File(".");
for (File file : ordner.listFiles()) {
System.out.println(file.getName());
}
Wichtige Klassen für Dateizugriffe
- File – Repräsentation von Dateien und Ordnern
- FileReader / FileWriter – Lesen/Schreiben von Text
- FileInputStream / FileOutputStream – Lesen/Schreiben von Bytes
- BufferedReader / BufferedWriter – effizientes Lesen/Schreiben
- Files (NIO) – moderne Dateioperationen
Moderne Dateioperationen mit NIO (ab Java 7)
import java.nio.file.*;
Files.writeString(Path.of("test.txt"), "Hallo!");
String inhalt = Files.readString(Path.of("test.txt"));
System.out.println(inhalt);
Kurzmerksatz
Dateizugriffe ermöglichen das Lesen, Schreiben und Verwalten von Dateien – in Java mit Streams, File-Klassen und der modernen NIO-API.
