Java PrintWriter meistern: Features, Methoden und praktische Beispiele
Java PrintWriter meistern
In diesem Tutorial erkunden wir die Java PrintWriter Klasse, ihre Druckmethoden und praktische Code-Beispiele.
Die PrintWriter Klasse, Teil von java.io, ist für das Schreiben von Character-Daten in Textdateien oder andere Output-Streams konzipiert. Sie erweitert Writer und bietet praktische Formatierungsmethoden.
Im Gegensatz zu anderen Writern konvertiert PrintWriter primitive Typen (int, float, char, etc.) automatisch in Text, bevor sie geschrieben werden. Sie wirft auch nie eine IOException; stattdessen können Sie Fehler mit checkError() erkennen.
Auto-Flush ist ein Schlüsselmerkmal: Wenn aktiviert, erzwingt jeder Aufruf von println() oder printf(), dass der Puffer in den zugrundeliegenden Stream geflusht wird.
Wie PrintWriter funktioniert
PrintWriter schreibt formatierten Text in einen zugrundeliegenden Writer oder OutputStream. Sein Konstruktor akzeptiert ein autoFlush Flag und optional ein Charset für Encoding.
PrintWriter erstellen
Zuerst importieren Sie die Klasse:
import java.io.PrintWriter;
1. Von einem existierenden Writer
FileWriter file = new FileWriter("output.txt");
PrintWriter out = new PrintWriter(file, true); // autoFlush = true
2. Von einem OutputStream
FileOutputStream fos = new FileOutputStream("output.txt");
PrintWriter out = new PrintWriter(fos, true);
3. Direkt von einem Dateinamen
PrintWriter out = new PrintWriter("output.txt", true);
4. Character Encoding angeben
import java.nio.charset.Charset;
PrintWriter out = new PrintWriter("output.txt", true, Charset.forName("UTF-8"));
Die Verwendung eines Charset stellt sicher, dass Ihr Text mit der gewünschten Kodierung geschrieben wird.
Wichtige Methoden
print() und println()
Diese Methoden schreiben rohen oder zeilenbeendeten Text:
print(obj)– schreibt die String-Repräsentation vonobjohne Newline.println(obj)– schreibt den String und fügt den System-Zeilentrenner an.
printf()
Die printf Familie unterstützt Javas Formatter Syntax. Beispiel:
out.printf("I am %d years old.", 25);
Weitere nützliche Methoden
| Methode | Beschreibung |
|---|---|
close() | Schließt den Stream und gibt Ressourcen frei. |
checkError() | Gibt true zurück, wenn ein Schreibfehler aufgetreten ist. |
append(CharSequence) | Hängt die gegebene Sequenz an den Writer an. |
Praxisbeispiel
Unten ist ein vollständiges, ausführbares Programm, das formatierten Text in output.txt mit printf() schreibt:
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;
public class PrintWriterDemo {
public static void main(String[] args) {
try (PrintWriter out = new PrintWriter(new FileWriter("output.txt"), true)) {
int age = 25;
out.printf("I am %d years old.\n", age);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Die Ausführung dieses Programms erstellt output.txt mit der Zeile:
I am 25 years old.
Weiterführende Literatur
Für die offizielle Spezifikation siehe die Java PrintWriter API und die Charset Dokumentation.
Java
- Javas final-Schlüsselwort verstehen: Variablen, Methoden und Klassen
- Java instanceof-Operator: Ein umfassender Leitfaden
- Java-Vererbung meistern: Konzepte, Typen und praktische Beispiele
- 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