Java FileReader: Uitgebreide gids en praktische voorbeelden
Java FileReader-klasse
Deze gids begeleidt je door Java's FileReader, met constructors, kernmethoden en praktische voorbeelden.
Inleiding
De FileReader-klasse in het java.io-pakket leest karaktermdata uit bestanden. Het breidt InputStreamReader uit en ondersteunt verschillende karaktekoderingen.
Een FileReader aanmaken
Eerst de klasse importeren:
import java.io.FileReader;
1. Via bestandsnaam
FileReader input = new FileReader("pad/naar/bestand.txt");
Creëert een reader die het gespecificeerde bestand opent.
2. Via File-object
File bestandObj = new File("pad/naar/bestand.txt");
FileReader input = new FileReader(bestandObj);
3. Charset specificeren (Java 11+)
FileReader input = new FileReader("pad/naar/bestand.txt", StandardCharsets.UTF_8);
Het gebruik van Charset stelt je in staat om bestanden met de gewenste encoding te lezen.
Kernmethoden van FileReader
FileReader implementeert alle methoden van Reader en voegt eigen functionaliteit toe.
read()-methode
read()– leest een enkel karakterread(char[] array)– vult de array met karaktersread(char[] array, int offset, int lengte)– leestlengtekarakters in de array beginnend bijoffset
Voorbeeld: input.txt lezen met inhoud "Dit is een regel tekst in het bestand."
import java.io.FileReader;
class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try (FileReader reader = new FileReader("input.txt")) {
int aantalGelezen = reader.read(buffer);
System.out.println("Data in het bestand:");
System.out.println(new String(buffer, 0, aantalGelezen));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Output
Data in het bestand: Dit is een regel tekst in het bestand.
Let op: Plaats input.txt in de huidige werkdirectory.
getEncoding()-methode
Vraag het charset op dat door de reader gebruikt wordt:
import java.io.FileReader;
import java.nio.charset.StandardCharsets;
class Main {
public static void main(String[] args) {
try {
FileReader standaardReader = new FileReader("input.txt");
FileReader utf8Reader = new FileReader("input.txt", StandardCharsets.UTF_8);
System.out.println("Standaard encoding: " + standaardReader.getEncoding());
System.out.println("UTF-8 encoding: " + utf8Reader.getEncoding());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Output
Standaard encoding: Cp1252 UTF-8 encoding: UTF-8
Wanneer een charset gespecificeerd is, retourneert getEncoding() dat charset; anders weerspiegelt het het platformstandaard.
close()-methode
Sluit de reader altijd na gebruik. Het try-with-resources-statement hierboven doet dit automatisch.
Extra FileReader-methoden
| Methode | Beschrijving |
|---|---|
ready() | Geeft aan of de stream klaar is om te lezen |
mark() | Markeert de huidige positie in de stream |
reset() | Zet de stream terug naar de meest recente markering |
Voor meer details, raadpleeg de officiële Java FileReader-documentatie.
Java
- Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
- Java instanceof operator: een uitgebreide gids
- Java-erfenis meesteren: concepten, typen en praktische voorbeelden
- Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
- Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
- Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
- Java BufferedReader: Efficiënte karakter-stream-afhandeling
- Java Generics: Herbruikbare, type-veilige code bouwen
- Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen