Bestanden Lezen in Java met BufferedReader – Een Praktische Gids met Voorbeelden
Hoe Een Bestand Te Lezen in Java?
Java biedt een verscheidenheid aan I/O klassen voor bestandsoperaties. De meest efficiënte manier om tekstbestanden te lezen is via java.io.BufferedReader, wat een lagere Reader wrappt en input buffert om dure systeemaanroepen te reduceren.
Wat Is BufferedReader in Java?
BufferedReader is een klasse die tekst leest van een input stream (zoals een bestand) door karakters te bufferen. Dit stelt snelle, regel-voor-regel of blok-voor-blok lezen toe zonder een systeemaanroep voor elk karakter.
Omdat methodes zoals read() op FileReader of InputStreamReader duur kunnen zijn, is het een veelvoorkomende praktijk ze in een BufferedReader te wrappen voor betere prestaties.
Een typisch gebruikspatroon ziet er zo uit:
BufferedReader reader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));
Hier wordt het bestand geopend en gebufferd voor efficiënt lezen.
Om de inhoud van het bestand weer te geven, itereer door elke regel tot het einde van het bestand bereikt is:
String currentLine;
while ((currentLine = reader.readLine()) != null) {
System.out.println(currentLine);
}
De lus stopt wanneer readLine() null retourneert, wat aangeeft dat het einde van het bestand bereikt is.
BufferedReader Voorbeeld (Pre-JDK 7)
Hieronder is een compleet, productie-klaar voorbeeld dat best practices voor resource handling demonstreert:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample {
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));
String currentLine;
while ((currentLine = reader.readLine()) != null) {
System.out.println(currentLine);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
Het finally blok garandeert dat de reader gesloten wordt, wat systeembronnen vrijmaakt zelfs als een exception optreedt.
BufferedReader Voorbeeld (JDK 7+ met Try-With-Resources)
Met Java 7 en later vereenvoudigt de try-with-resources statement cleanup. Het volgende voorbeeld toont dezelfde logica in een beknoppere vorm:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExampleJDK7 {
private static final String FILENAME = "D:\\DukesDiary.txt";
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {
String currentLine;
while ((currentLine = br.readLine()) != null) {
System.out.println(currentLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Het gebruik van try-with-resources sluit de BufferedReader automatisch, wat de code schoner en minder foutgevoelig maakt.
Java
- Java BufferedReader: Efficiënte karakter-stream-afhandeling
- Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen
- Java Hello World: Stap-voor-stap gids om je eerste Java-programma te schrijven
- Encapsulatie in Java: Uitgebreide gids met praktisch voorbeeld
- Java String length() Methode: Hoe de grootte van een String op te vragen (Voorbeeld)
- Java String.charAt() begrijpen: Syntaxis, Retourtype, Exceptions en Praktisch Voorbeeld
- Java's String compareTo() Methode beheersen: Syntaxis, Use Cases en Praktische Voorbeelden
- Java String.contains() Methode: Controleren op Substrings – Praktische Voorbeelden
- Java String.endsWith() beheersen: Controleren op String-suffixen met voorbeelden
- Insertion Sort algoritme in Java: Duidelijk voorbeeld & stapsgewijze handleiding
- Selection Sort in Java: Stapsgewijze voorbeeld & complete code