Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| programmierung:eingabe [2024/11/30 18:28] – swe | programmierung:eingabe [2025/12/20 14:53] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| < | < | ||
| - | # Dateien | + | # Dateien |
| - | ## Dateien: Speicherstrukturen für Daten | + | ## Dateien |
| + | - Speicherstrukturen für Daten | ||
| - Herkunft des Wortes _file_ | - Herkunft des Wortes _file_ | ||
| - aus dem Altfranzösischen Wort " | - aus dem Altfranzösischen Wort " | ||
| 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/ | + | ## Java I/ |
| ```java | ```java | ||
| import java.io.* | import java.io.* | ||
| Line 75: | Line 76: | ||
| } | } | ||
| ``` | ``` | ||
| - | --- | + | |
| - | ## Wichtigste Klassen in `java.io` | + | |
| ### Text-Streams | ### Text-Streams | ||
| - Verschiedene Reader/ | - Verschiedene Reader/ | ||
| - 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`/ | - `FileReader`/ | ||
| - | | + | |
| + | | ||
| - Zeichen für Zeichen | - Zeichen für Zeichen | ||
| - `BufferedReader`/ | - `BufferedReader`/ | ||
| 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/ |
| ```java | ```java | ||
| import java.io.BufferedReader; | import java.io.BufferedReader; | ||
| Line 154: | Line 155: | ||
| ``` | ``` | ||
| - | --- | + | |
| - | #### `BufferedReader`/ `BufferedWriter` | + | #### BufferedReader/ |
| ```java | ```java | ||
| Line 188: | Line 189: | ||
| - effizientes Lesen von Textdaten. | - effizientes Lesen von Textdaten. | ||
| - **Best Practices**: | - **Best Practices**: | ||
| - | - **try-with-resources**: | + | - **try-with-resources**: |
| + | zu vermeiden. | ||
| - **Fehlerbehandlung**: | - **Fehlerbehandlung**: | ||
| --- | --- | ||
| - | ## What about `Scanner`? | + | ### Datei neu erstellen vs. Daten an bestehende Datei anhängen |
| + | |||
| + | ```java | ||
| + | ... | ||
| + | public static void main(String[] args) { | ||
| + | String filePath = " | ||
| + | |||
| + | // Schreiben in die Datei (überschreibt den bestehenden Inhalt) | ||
| + | try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) { | ||
| + | writer.write(" | ||
| + | writer.newLine(); | ||
| + | writer.write(" | ||
| + | System.out.println(" | ||
| + | } catch (IOException e) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | |||
| + | // Anhängen an die Datei | ||
| + | try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath, | ||
| + | writer.newLine(); | ||
| + | writer.write(" | ||
| + | writer.newLine(); | ||
| + | writer.write(" | ||
| + | System.out.println(" | ||
| + | } catch (IOException e) { | ||
| + | System.out.println(" | ||
| + | } | ||
| + | } | ||
| + | ... | ||
| + | ``` | ||
| + | --- | ||
| + | ## 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** | | **Kriterium** | ||
| Line 211: | Line 244: | ||
| - | ### **Wann sollte man welchen verwenden?** | + | ### Wann sollte man welchen verwenden? |
| - `Scanner` | - `Scanner` | ||