Java BufferedReader meistern: Effizientes Character-Stream-Handling
Java BufferedReader Klasse
Entdecken Sie, wie die BufferedReader Klasse die I/O-Performance in Java mit praktischen Beispielen und detaillierten Methodenerklärungen steigert.
Die BufferedReader Klasse, Teil des java.io Pakets, wrapt einen anderen Reader, um effizienten Character-Input bereitzustellen. Durch das Lesen von Datenblöcken in einen internen Puffer minimiert sie teure Festplatten-I/O-Operationen.
Wie BufferedReader funktioniert
Intern verwaltet BufferedReader einen Puffer von 8.192 Characters (Standardgröße). Bei einer Leseoperation wird ein Block Characters aus der Quelldatei geholt und in diesem Puffer gespeichert. Nachfolgende Lesevorgänge ziehen dann Characters einzeln aus dem Puffer, was die Anzahl der Festplattenzugriffe drastisch reduziert und I/O beschleunigt.
BufferedReader erstellen
Um BufferedReader zu verwenden, importieren Sie es aus java.io und wrappen Sie eine beliebige andere Reader Implementierung, wie FileReader:
import java.io.FileReader;
import java.io.BufferedReader;
FileReader file = new FileReader("beispiel.txt");
BufferedReader reader = new BufferedReader(file);
Sie können auch eine benutzerdefinierte Puffergröße angeben:
BufferedReader reader = new BufferedReader(file, 16384); // 16KB Puffer
Wichtige Methoden von BufferedReader
read()
int read()– liest ein einzelnes Character aus dem Puffer.int read(char[] cbuf)– liest Characters in das übergebene Array.int read(char[] cbuf, int off, int len)– liest bis zu len Characters in das Array ab Offset off.
Beispiel: Gesamten Inhalt von input.txt in ein Character-Array lesen:
import java.io.FileReader;
import java.io.BufferedReader;
class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try (FileReader file = new FileReader("input.txt");
BufferedReader reader = new BufferedReader(file)) {
reader.read(buffer);
System.out.println("Daten in der Datei:\n" + new String(buffer));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ausgabe
Daten in der Datei: This is a line of text inside the file.
skip()
Die skip(long n) Methode verwirft die nächsten n Characters aus dem Stream:
reader.skip(5); // überspringt "This "
Nach dem Überspringen ergibt das Lesen des verbleibenden Inhalts:
Daten nach Überspringen von 5 Characters: is a line of text inside the file.
close()
Schließen Sie den Reader immer, um Systemressourcen freizugeben:
reader.close();
Weitere nützliche Methoden
| Methode | Beschreibung |
|---|---|
ready() | Prüft, ob der Stream ohne Blockieren gelesen werden kann. |
mark(int readAheadLimit) | Markiert die aktuelle Position im Stream. |
reset() | Setzt den Stream auf die letzte Markierung zurück. |
Für eine vollständige Referenz besuchen Sie die offizielle Java-Dokumentation.
Java
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java statische verschachtelte Klassen verstehen: Nutzung, Unterschiede und Beispiele
- Java anonyme innere Klassen meistern: Definition, Syntax und praktische Beispiele
- Java Singleton-Pattern erklärt: Sichere Implementierung und Verwendung
- Java Reflection meistern: Klassen, Methoden und Felder zur Laufzeit inspizieren
- Java ObjectOutputStream meistern: Serialisierung, Methoden und praktische Beispiele
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen
- Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen
- Dateien in Java mit BufferedReader lesen – Praktischer Leitfaden mit Beispielen