Dateien und Datenströme beschreiben: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== Dateien und Datenströme beschreiben == Dateien und Datenströme sind zentrale Konzepte der Ein- und Ausgabe (I/O) in der Programmierung. Sie ermöglichen das Speichern, Lesen und Übertragen von Informationen – lokal auf dem Rechner oder über Netzwerke. === Dateien === Eine '''Datei''' ist eine Sammlung von Daten, die dauerhaft auf einem Speichermedium gespeichert wird. Beispiele: Textdateien, Bilder, Konfigurationsdateien, Logdateien. Eigen…“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
Dateien und Datenströme sind zentrale Konzepte der Ein- und Ausgabe (I/O) in der Programmierung. | Dateien und Datenströme sind zentrale Konzepte der Ein- und Ausgabe (I/O) in der Programmierung. | ||
Sie ermöglichen das Speichern, Lesen und Übertragen von Informationen – lokal auf dem Rechner oder über Netzwerke. | Sie ermöglichen das Speichern, Lesen und Übertragen von Informationen – lokal auf dem Rechner oder über Netzwerke. | ||
== Dateien == | |||
Eine '''Datei''' ist eine Sammlung von Daten, die dauerhaft auf einem Speichermedium gespeichert wird. | Eine '''Datei''' ist eine Sammlung von Daten, die dauerhaft auf einem Speichermedium gespeichert wird. | ||
Beispiele: Textdateien, Bilder, Konfigurationsdateien, Logdateien. | Beispiele: Textdateien, Bilder, Konfigurationsdateien, Logdateien. | ||
| Zeile 14: | Zeile 12: | ||
* können sequentiell oder blockweise gelesen werden | * können sequentiell oder blockweise gelesen werden | ||
== Datenströme (Streams) == | |||
Ein '''Stream''' ist ein kontinuierlicher Datenfluss zwischen einer Quelle und einem Ziel. | Ein '''Stream''' ist ein kontinuierlicher Datenfluss zwischen einer Quelle und einem Ziel. | ||
Er wird nicht dauerhaft gespeichert, sondern verarbeitet Daten „im Fluss“. | Er wird nicht dauerhaft gespeichert, sondern verarbeitet Daten „im Fluss“. | ||
| Zeile 26: | Zeile 24: | ||
Java unterscheidet zwei Hauptarten: | Java unterscheidet zwei Hauptarten: | ||
=== Byte-Streams === | |||
* lesen und schreiben rohe Bytes | * lesen und schreiben rohe Bytes | ||
* geeignet für Binärdaten (Bilder, Audio, PDF etc.) | * geeignet für Binärdaten (Bilder, Audio, PDF etc.) | ||
| Zeile 33: | Zeile 31: | ||
`InputStream`, `OutputStream`, `FileInputStream` | `InputStream`, `OutputStream`, `FileInputStream` | ||
=== Character-Streams === | |||
* lesen und schreiben Zeichen (UTF-8, Unicode) | * lesen und schreiben Zeichen (UTF-8, Unicode) | ||
* geeignet für Textdateien | * geeignet für Textdateien | ||
| Zeile 40: | Zeile 38: | ||
`Reader`, `Writer`, `FileReader`, `BufferedWriter` | `Reader`, `Writer`, `FileReader`, `BufferedWriter` | ||
== Warum Streams verwenden? == | |||
* Dateien müssen nicht komplett in den Speicher geladen werden | * Dateien müssen nicht komplett in den Speicher geladen werden | ||
* effizient bei großen Datenmengen | * effizient bei großen Datenmengen | ||
| Zeile 46: | Zeile 44: | ||
* trennen Datenquelle und Datenverarbeitung (sauberes Design) | * trennen Datenquelle und Datenverarbeitung (sauberes Design) | ||
== Beispiel: Lesen einer Datei (Java) == | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
BufferedReader reader = new BufferedReader(new FileReader("daten.txt")); | BufferedReader reader = new BufferedReader(new FileReader("daten.txt")); | ||
| Zeile 58: | Zeile 56: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Beispiel: Schreiben einer Datei (Java) == | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
BufferedWriter writer = new BufferedWriter(new FileWriter("ausgabe.txt")); | BufferedWriter writer = new BufferedWriter(new FileWriter("ausgabe.txt")); | ||
| Zeile 65: | Zeile 63: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Kurzmerksatz == | |||
'''Dateien speichern Daten dauerhaft, Datenströme verarbeiten Daten im Fluss und ermöglichen effizientes Lesen und Schreiben.''' | '''Dateien speichern Daten dauerhaft, Datenströme verarbeiten Daten im Fluss und ermöglichen effizientes Lesen und Schreiben.''' | ||
Aktuelle Version vom 12. Januar 2026, 15:08 Uhr
Dateien und Datenströme sind zentrale Konzepte der Ein- und Ausgabe (I/O) in der Programmierung. Sie ermöglichen das Speichern, Lesen und Übertragen von Informationen – lokal auf dem Rechner oder über Netzwerke.
Dateien
Eine Datei ist eine Sammlung von Daten, die dauerhaft auf einem Speichermedium gespeichert wird. Beispiele: Textdateien, Bilder, Konfigurationsdateien, Logdateien.
Eigenschaften von Dateien:
- besitzen einen Namen und eine Endung
- werden im Dateisystem abgelegt
- sind dauerhaft gespeichert, bis sie überschrieben oder gelöscht werden
- können sequentiell oder blockweise gelesen werden
Datenströme (Streams)
Ein Stream ist ein kontinuierlicher Datenfluss zwischen einer Quelle und einem Ziel. Er wird nicht dauerhaft gespeichert, sondern verarbeitet Daten „im Fluss“.
Beispiele:
- Tastatureingaben
- Netzwerkverbindungen
- Lesen/Schreiben von Dateien in kleinen Stücken
- Datenübertragung zwischen Programmen
Java unterscheidet zwei Hauptarten:
Byte-Streams
- lesen und schreiben rohe Bytes
- geeignet für Binärdaten (Bilder, Audio, PDF etc.)
Beispiele: `InputStream`, `OutputStream`, `FileInputStream`
Character-Streams
- lesen und schreiben Zeichen (UTF-8, Unicode)
- geeignet für Textdateien
Beispiele: `Reader`, `Writer`, `FileReader`, `BufferedWriter`
Warum Streams verwenden?
- Dateien müssen nicht komplett in den Speicher geladen werden
- effizient bei großen Datenmengen
- ermöglichen Verarbeitung während des Lesens
- trennen Datenquelle und Datenverarbeitung (sauberes Design)
Beispiel: Lesen einer Datei (Java)
BufferedReader reader = new BufferedReader(new FileReader("daten.txt"));
String zeile;
while ((zeile = reader.readLine()) != null) {
System.out.println(zeile);
}
reader.close();
Beispiel: Schreiben einer Datei (Java)
BufferedWriter writer = new BufferedWriter(new FileWriter("ausgabe.txt"));
writer.write("Hallo Welt!");
writer.close();
Kurzmerksatz
Dateien speichern Daten dauerhaft, Datenströme verarbeiten Daten im Fluss und ermöglichen effizientes Lesen und Schreiben.
