Skip to content

Kapitel 17: IOStröme (Einstieg)

🎯 Lernziele

  • Was sind IOStröme?
  • Dateien lesen (FileReader, BufferedReader)
  • Dateien schreiben (FileWriter, BufferedWriter)
  • Textdatei kopieren

17.1 Was sind IOStröme?

📂 Was ist IO?

IO = Input/Output (Eingabe/Ausgabe).

In Java:

  • Input: Daten lesen (von Datei/Tastatur)
  • Output: Daten schreiben (in Datei/Bildschirm)

🔄 Java IO-Klassen

KlasseZweck
FileReaderDatei lesen (Zeichen)
BufferedReaderEffizient lesen (Puffer)
FileWriterDatei schreiben (Zeichen)
BufferedWriterEffizient schreiben (Puffer)

17.2 Datei lesen

📝 Beispiel: Textdatei lesen

java
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;

public class DateiLesen {
    public static void main(String[] args) {
        try {
            FileReader fr = new FileReader("text.txt");
            BufferedReader br = new BufferedReader(fr);
            
            String zeile;
            while ((zeile = br.readLine()) != null) {
                System.out.println(zeile);
            }
            
            br.close();  // Ressource schließen!
        } catch (IOException e) {
            System.out.println("Fehler: " + e.getMessage());
        }
    }
}

✨ Mit try-with-resources (empfohlen!)

java
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;

public class DateiLesenNeu {
    public static void main(String[] args) {
        try (FileReader fr = new FileReader("text.txt");
             BufferedReader br = new BufferedReader(fr)) {
            
            String zeile;
            while ((zeile = br.readLine()) != null) {
                System.out.println(zeile);
            }
        } catch (IOException e) {
            System.out.println("Fehler: " + e.getMessage());
        }
    }
}

Vorteil: try-with-resources schließt Ressourcen automatisch!

17.3 Datei schreiben

📝 Beispiel: Textdatei schreiben

java
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;

public class DateiSchreiben {
    public static void main(String[] args) {
        try (FileWriter fw = new FileWriter("ausgabe.txt");
             BufferedWriter bw = new BufferedWriter(fw)) {
            
            bw.write("Hallo Welt!");
            bw.newLine();  // Zeilenumbruch
            bw.write("Java IO ist toll!");
            
        } catch (IOException e) {
            System.out.println("Fehler: " + e.getMessage());
        }
    }
}

17.4 Textdatei kopieren

📋 Beispiel: Datei kopieren

java
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;

public class DateiKopieren {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("quelle.txt"));
             BufferedWriter bw = new BufferedWriter(new FileWriter("ziel.txt"))) {
            
            String zeile;
            while ((zeile = br.readLine()) != null) {
                bw.write(zeile);
                bw.newLine();
            }
            
            System.out.println("Datei kopiert!");
        } catch (IOException e) {
            System.out.println("Fehler: " + e.getMessage());
        }
    }
}

📝 Zusammenfassung

In diesem Kapitel hast du gelernt:

  • ✅ Was IOStröme sind
  • ✅ Datei lesen (BufferedReader)
  • ✅ Datei schreiben (BufferedWriter)
  • try-with-resources verwenden

💡 Merksatz für Anfänger

"IO = Dateien lesen/schreiben. Immer Ressourcen schließen (oder try-with-resources)!"

🎯 Nächste Schritte

Im nächsten Kapitel lernst du:

  • Multithreading Grundlagen (Kapitel 18)
  • Was sind Threads?
  • Thread erstellen
  • Thread starten

📚 Weiterführende Links:

💬 Fragen?
Hinterlassen Sie einen Kommentar!

Frei für alle Anfänger