Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
programmierung:eingabe [2024/11/30 18:28] sweprogrammierung:eingabe [2025/12/20 14:53] (current) – external edit 127.0.0.1
Line 1: Line 1:
 <!DOCTYPE markdown> <!DOCTYPE markdown>
  
-# Dateien+# Dateien und Datenströme
    
-## DateienSpeicherstrukturen für Daten+## Dateien 
 +Speicherstrukturen für Daten
 - Herkunft des Wortes _file_ - Herkunft des Wortes _file_
   - aus dem Altfranzösischen Wort "fil", das "Faden" oder "Draht" bedeutete.   - aus dem Altfranzösischen Wort "fil", das "Faden" oder "Draht" bedeutete.
Line 10: Line 11:
 - Im Deutschen: Datei = Daten + Kartei - Im Deutschen: Datei = Daten + Kartei
 --- ---
-# Datenströme+## Datenströme
  
 - kontinuierliche Datenflüsse von Quelle zu Ziel oder anders herum - kontinuierliche Datenflüsse von Quelle zu Ziel oder anders herum
Line 28: Line 29:
 --- ---
  
-# Java I/O-Grundlagen+## Java I/O-Grundlagen
 ```java ```java
 import java.io.* import java.io.*
Line 75: Line 76:
 } }
 ``` ```
----  +
-## Wichtigste Klassen in `java.io`+
 ### Text-Streams  ### Text-Streams 
   - Verschiedene Reader/Writer   - Verschiedene Reader/Writer
   - Arbeiten mit Zeichen und unterstützen Encoding wie UTF-8 oder UTF-16   - Arbeiten mit Zeichen und unterstützen Encoding wie UTF-8 oder UTF-16
   - `FileReader`/ `FileWriter`   - `FileReader`/ `FileWriter`
-    - Lesen und Schreiben von Textdateien+   
 +  - Lesen und Schreiben von Textdateien
     - Zeichen für Zeichen     - Zeichen für Zeichen
   - `BufferedReader`/ `BufferedWriter`   - `BufferedReader`/ `BufferedWriter`
Line 87: Line 88:
     - Effizientere Verarbeitung von Textdateien     - Effizientere Verarbeitung von Textdateien
 ---  --- 
-#### `FileReader``FileWriter`+#### FileReader/ FileWriter
 ```java ```java
 import java.io.FileReader; import java.io.FileReader;
Line 105: Line 106:
 } }
 ``` ```
----  + 
-#### `FileReader``FileWriter`+#### FileReader/ FileWriter
 ```java ```java
 import java.io.FileWriter; import java.io.FileWriter;
Line 133: Line 134:
 ``` ```
 --- ---
-#### `BufferedReader``BufferedWriter`+#### BufferedReader/ BufferedWriter
 ```java ```java
 import java.io.BufferedReader; import java.io.BufferedReader;
Line 154: Line 155:
 ``` ```
  
---- + 
-#### `BufferedReader``BufferedWriter`+#### BufferedReader/ BufferedWriter
  
 ```java ```java
Line 188: Line 189:
     - effizientes Lesen von Textdaten.       - effizientes Lesen von Textdaten.  
 - **Best Practices**:   - **Best Practices**:  
-  - **try-with-resources**: Automatisches Schließen von Streams, um Ressourcenlecks zu vermeiden.  +  - **try-with-resources**: Automatisches Schließen von Streams, um Ressourcenlecks 
 + zu vermeiden.  
   - **Fehlerbehandlung**: Abfangen von `IOException` für robusteren Code.   - **Fehlerbehandlung**: Abfangen von `IOException` für robusteren Code.
  
 --- ---
-## What about `Scanner`?+### Datei neu erstellen vs. Daten an bestehende Datei anhängen 
 + 
 +```java 
 +... 
 +    public static void main(String[] args) { 
 +        String filePath = "example.txt"; 
 + 
 +        // Schreiben in die Datei (überschreibt den bestehenden Inhalt) 
 +        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) { 
 +            writer.write("Dies ist der erste Text in der Datei."); 
 +            writer.newLine(); // Neue Zeile einfügen 
 +            writer.write("Noch eine Zeile wird hinzugefügt."); 
 +            System.out.println("Text erfolgreich geschrieben."); 
 +        } catch (IOException e) { 
 +            System.out.println("Fehler beim Schreiben in die Datei: " + e.getMessage()); 
 +        } 
 + 
 +        // Anhängen an die Datei 
 +        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath, true))) { 
 +            writer.newLine(); // Neue Zeile am Ende der Datei 
 +            writer.write("Dies ist ein angehängter Text."); 
 +            writer.newLine(); // Neue Zeile einfügen 
 +            writer.write("Noch ein angehängter Text."); 
 +            System.out.println("Text erfolgreich angehängt."); 
 +        } catch (IOException e) { 
 +            System.out.println("Fehler beim Anhängen an die Datei: " + e.getMessage()); 
 +        } 
 +    } 
 +... 
 +``` 
 +--- 
 +## What about Scanner?
 - Hauptsächliche Verwendung - Hauptsächliche Verwendung
 - Nicht nur Dateien lesen kann, sondern auch  - Nicht nur Dateien lesen kann, sondern auch 
Line 200: Line 233:
 --- ---
  
-### **Vergleich: Scanner vs BufferedReader vs FileReader**+### Vergleich: Scanner vs BufferedReader vs FileReader
  
 | **Kriterium**              | **FileReader**                                 | **BufferedReader**                              | **Scanner**                                      | | **Kriterium**              | **FileReader**                                 | **BufferedReader**                              | **Scanner**                                      |
Line 211: Line 244:
  
  
-### **Wann sollte man welchen verwenden?**+### Wann sollte man welchen verwenden?
  
 - `Scanner` - `Scanner`