Dateizugriffe realisieren
Aus FI-Wiki
Dateizugriffe realisieren
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.
