Java BufferedWriter: Effizientes Character I/O erklärt
Java BufferedWriter
Dieser Leitfaden erklärt die Java BufferedWriter Klasse, ihre interne Pufferung, Schlüsselmethoden und praktische Code-Beispiele.
Die BufferedWriter Klasse im java.io Paket wrapt einen anderen Writer, um effizienten Character-Output bereitzustellen. Durch Puffern von Daten im Speicher reduziert sie kostspielige Festplatten-I/O-Operationen.
Wie BufferedWriter funktioniert
Die Klasse verwaltet einen internen Puffer von 8.192 Characters (Standardgröße). Wenn Sie Daten schreiben, werden Characters zuerst in diesem Puffer gespeichert. Sobald der Puffer voll ist oder der Writer geschlossen wird, werden die Inhalte in den zugrundeliegenden Stream geflusht.
Diese Strategie minimiert die Anzahl der Festplattenschreibvorgänge und macht Character-Output spürbar schneller.
BufferedWriter erstellen
Importieren Sie die Klasse und erstellen Sie einen BufferedWriter, indem Sie einen FileWriter (oder jeden anderen Writer) wrappen:
FileWriter file = new FileWriter("output.txt");
BufferedWriter buffer = new BufferedWriter(file);
Der Puffer defaultet auf 8.192 Characters, aber Sie können eine benutzerdefinierte Größe angeben:
BufferedWriter buffer = new BufferedWriter(file, 16384); // 16KB Puffer
BufferedWriter Methoden
write()
write(int c)– schreibt ein einzelnes Character.write(char[] cbuf)– schreibt ein Array von Characters.write(String str)– schreibt einen String.
Beispiel: In eine Datei schreiben
import java.io.FileWriter;
import java.io.BufferedWriter;
public class Main {
public static void main(String[] args) {
String data = "This is the data in the output file";
try {
FileWriter file = new FileWriter("output.txt");
BufferedWriter out = new BufferedWriter(file);
out.write(data);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Die resultierende output.txt enthält den angegebenen String.
flush()
Erzwingt, dass die gepufferten Daten sofort in den zugrundeliegenden Stream geschrieben werden.
out.flush(); // schreibt alle gepufferten Characters in die Datei
close()
Schließt den Writer und gibt Systemressourcen frei. Nach Aufruf von close() kann der Writer nicht mehr verwendet werden.
Weitere nützliche Methoden
| Methode | Beschreibung |
|---|---|
newLine() | Fügt den plattformspezifischen Zeilentrenner ein. |
append(char c) | Hängt ein einzelnes Character an. |
append(CharSequence csq) | Hängt eine Character-Sequenz an. |
Für die vollständige API referenzieren Sie die offizielle Java BufferedWriter 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 BufferedReader meistern: Effizientes Character-Stream-Handling
- Java Generics meistern – Wiederverwendbaren, typsicheren Code erstellen
- Java-Dateioperationen mit java.io meistern – Erstellen, Lesen, Schreiben & Löschen