Dateien und Datenströme beschreiben

Aus FI-Wiki
Version vom 24. November 2025, 13:38 Uhr von Moettke (Diskussion | Beiträge) (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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.

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.