Bestanden lezen en schrijven

Input/Output en streams in Java

Alex Liu

Software Development Engineer

Casting

  • Converteren tussen primitieve datatypen

  • Widening cast — automatisch: kleiner -> groter

    • byte -> short -> char -> int -> long -> float -> double
// Widening cast — gebeurt automatisch
byte myByte = 8;
int myInt = myByte;
  • Narrowing cast — handmatig: groter -> kleiner
// Narrowing cast — is handmatig
double myDouble = 3.14;
int myInt = (int) myDouble; // Let op (int)
Input/Output en streams in Java

Specifieke casting bij bestanden lezen

  • Casten van int naar char: char data = (char) 123;
// Unicode-waarde voor teken 'a'
int data = 97;
// Print direct als `int`
System.out.print(data);
// Cast van `int` naar `char` en print
System.out.print((char)data);
97
a
1 https://www.ascii-code.com/
Input/Output en streams in Java

Data lezen met FileReader

  • Importeer de klasse FileReader om bestanden te kunnen lezen
import java.io.FileReader;
  • Lees het bestand, print teken voor teken en sluit daarna
FileReader fr = new FileReader("example.txt");
int data = fr.read();
// Lees en print elk teken
while (data != -1) {
    System.out.print((char) data);
    data = fr.read();
}
fr.close(); // Sluit om resources vrij te geven
Input/Output en streams in Java

Efficiënt lezen met BufferedReader

  • BufferedReader - import java.io.BufferedReader;
    • Leest tekstbestand regel voor regel
    • Efficiënter voor grote bestanden
// Maak een BufferedReader-object
BufferedReader br = new BufferedReader(new FileReader("example.txt"));
String line;
// Gebruik .readLine() om regel voor regel te lezen
while ((line = br.readLine())!= null){
  System.out.println(line);
}
br.close();
Input/Output en streams in Java

Schrijven met FileWriter

  • FileWriter:
    • Overschrijft standaard bestaande inhoud — let op dataverlies!
  • Importeer FileWriter
import java.io.FileWriter;


// Maak een nieuw `FileWriter`-object FileWriter fw = new FileWriter("example.txt"); // Schrijf naar het bestand met `.write() fw.write("Bestand overschrijven."); fw.close()
Input/Output en streams in Java

Data toevoegen met FileWriter

  • FileWriter
    • Kan data toevoegen in append-modus zonder te overschrijven

$$

// Initialiseer `FileWriter` in append-modus
FileWriter fw = new FileWriter("example.txt", true);
// Voeg data toe aan het bestand
fw.write("Data toevoegen.");
fw.close()
Input/Output en streams in Java

Efficiënt schrijven met BufferedWriter

  • BufferedWriter - import java.io.BufferedWriter;
    • Schrijft efficiënter met grotere tekstblokken
    • Minder write-operaties
// Maak een BufferedWriter-object
BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt"));
bw.write("Data schrijven");

// .newLine() om regeleinden toe te voegen
bw.newLine(); 
bw.close();
Input/Output en streams in Java

Laten we oefenen!

Input/Output en streams in Java

Preparing Video For Download...