Dateizugriffe realisieren: Unterschied zwischen den Versionen
Aus FI-Wiki
Die Seite wurde neu angelegt: „== 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 ==== <syntaxhighlight lang="java"> BufferedReader reader = new BufferedReader(new Fil…“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
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'''. | |||
Beim Arbeiten mit Dateien geht es darum, Daten | |||
In Java erfolgt dies über die Ein- und Ausgabe-API (I/O), die sowohl Byte- als auch Zeichenströme unterstützt. | 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 === | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
BufferedReader reader = new BufferedReader(new FileReader("daten.txt")); | BufferedReader reader = new BufferedReader(new FileReader("daten.txt")); | ||
| Zeile 18: | Zeile 16: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Ganze Datei als Bytes lesen === | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
FileInputStream input = new FileInputStream("bild.jpg"); | FileInputStream input = new FileInputStream("bild.jpg"); | ||
| Zeile 25: | Zeile 23: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Dateien schreiben (Output) == | |||
=== Text in Datei schreiben === | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
BufferedWriter writer = new BufferedWriter(new FileWriter("ausgabe.txt")); | BufferedWriter writer = new BufferedWriter(new FileWriter("ausgabe.txt")); | ||
| Zeile 36: | Zeile 34: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Binärdaten schreiben === | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
FileOutputStream out = new FileOutputStream("kopie.jpg"); | FileOutputStream out = new FileOutputStream("kopie.jpg"); | ||
| Zeile 43: | Zeile 41: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Dateien verwalten == | |||
=== Existenz prüfen === | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
File f = new File("test.txt"); | File f = new File("test.txt"); | ||
| Zeile 53: | Zeile 51: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Datei löschen === | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
f.delete(); | f.delete(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Ordner anlegen === | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
new File("neuerOrdner").mkdir(); | new File("neuerOrdner").mkdir(); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Dateien und Ordner auflisten === | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
File ordner = new File("."); | File ordner = new File("."); | ||
| Zeile 71: | Zeile 69: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Wichtige Klassen für Dateizugriffe == | |||
* '''File''' – Repräsentation von Dateien und Ordnern | * '''File''' – Repräsentation von Dateien und Ordnern | ||
* '''FileReader / FileWriter''' – Lesen/Schreiben von Text | * '''FileReader / FileWriter''' – Lesen/Schreiben von Text | ||
| Zeile 78: | Zeile 76: | ||
* '''Files''' (NIO) – moderne Dateioperationen | * '''Files''' (NIO) – moderne Dateioperationen | ||
== Moderne Dateioperationen mit NIO (ab Java 7) == | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
import java.nio.file.*; | import java.nio.file.*; | ||
| Zeile 87: | Zeile 85: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Kurzmerksatz == | |||
'''Dateizugriffe ermöglichen das Lesen, Schreiben und Verwalten von Dateien – in Java mit Streams, File-Klassen und der modernen NIO-API.''' | '''Dateizugriffe ermöglichen das Lesen, Schreiben und Verwalten von Dateien – in Java mit Streams, File-Klassen und der modernen NIO-API.''' | ||
Aktuelle Version vom 12. Januar 2026, 15:17 Uhr
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.
