Dateien lesen und schreiben

Ein-/Ausgabe und Streams in Java

Alex Liu

Software Development Engineer

Casting

  • Umwandeln zwischen primitiven Datentypen

  • Widening Cast – automatisch von kleiner -> größer

    • byte -> short -> char -> int -> long -> float -> double
// Widening Cast – passiert automatisch
byte myByte = 8;
int myInt = myByte;
  • Narrowing Cast – manuell, größer -> kleiner
// Narrowing Cast – ist manuell
double myDouble = 3.14;
int myInt = (int) myDouble; // Beachte das (int)
Ein-/Ausgabe und Streams in Java

Spezifisches Casting fürs Dateilesen verstehen

  • Casting von int zu char: char data = (char) 123;
// Unicode-Wert für das Zeichen 'a'
int data = 97;
// Wert direkt als `int` ausgeben
System.out.print(data);
// Von `int` zu `char` casten und ausgeben
System.out.print((char)data);
97
a
1 https://www.ascii-code.com/
Ein-/Ausgabe und Streams in Java

Daten mit FileReader aus einer Datei lesen

  • Die Klasse FileReader importieren, um Dateien lesen zu können
import java.io.FileReader;
  • Datei lesen, Zeichen für Zeichen ausgeben und anschließend schließen
FileReader fr = new FileReader("example.txt");
int data = fr.read();
// Jedes Zeichen lesen und ausgeben
while (data != -1) {
    System.out.print((char) data);
    data = fr.read();
}
fr.close(); // Datei schließen, um Ressourcen freizugeben
Ein-/Ausgabe und Streams in Java

Effizient lesen mit BufferedReader

  • BufferedReader - import java.io.BufferedReader;
    • Liest Textdateien zeilenweise
    • Effizienter für größere Dateien
// Ein BufferedReader-Objekt erstellen
BufferedReader br = new BufferedReader(new FileReader("example.txt"));
String line;
// Mit .readLine() die Datei zeilenweise lesen
while ((line = br.readLine())!= null){
  System.out.println(line);
}
br.close();
Ein-/Ausgabe und Streams in Java

Daten mit FileWriter schreiben

  • FileWriter:
    • Überschreibt standardmäßig vorhandenen Inhalt – vorsichtig, um Datenverlust zu vermeiden!
  • FileWriter importieren
import java.io.FileWriter;


// Ein neues `FileWriter`-Objekt erstellen FileWriter fw = new FileWriter("example.txt"); // Daten mit `.write()` in die Datei schreiben fw.write("Overwriting the file."); fw.close()
Ein-/Ausgabe und Streams in Java

Daten mit FileWriter anhängen

  • FileWriter
    • Ermöglicht Anhängen im append-Modus, ohne vorhandenen Inhalt zu überschreiben

$$

// `FileWriter` im Append-Modus initialisieren
FileWriter fw = new FileWriter("example.txt", true);
// Daten an die Datei anhängen
fw.write("Appending data.");
fw.close()
Ein-/Ausgabe und Streams in Java

Effizient schreiben mit BufferedWriter

  • BufferedWriter - import java.io.BufferedWriter;
    • Schreibt Text effizienter in größeren Blöcken
    • Minimiert Schreiboperationen
// Ein BufferedWriter-Objekt erstellen
BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt"));
bw.write("Writing data");

// .newLine() für Zeilenumbrüche
bw.newLine(); 
bw.close();
Ein-/Ausgabe und Streams in Java

Lass uns üben!

Ein-/Ausgabe und Streams in Java

Preparing Video For Download...