In diesem Tutorial lernen wir anhand von Beispielen Java PrintWriter und seine Methoden print () und printf () kennen.
Die PrintWriter
Klasse des java.io
Pakets kann verwendet werden, um Ausgabedaten in einer allgemein lesbaren Form (Text) zu schreiben.
Es erweitert die abstrakte Klasse Writer
.
Arbeitsweise von PrintWriter
Im Gegensatz zu anderen Autoren, PrintWriter
wandelt die primitiven Daten ( int
, float
, char
, etc.) in das Textformat. Anschließend werden die formatierten Daten in den Writer geschrieben.
Außerdem PrintWriter
löst die Klasse keine Eingabe- / Ausgabeausnahme aus. Stattdessen müssen wir die checkError()
Methode verwenden, um Fehler darin zu finden.
Hinweis : Die PrintWriter
Klasse verfügt auch über eine Funktion zum automatischen Spülen. Dies bedeutet, dass der Writer gezwungen wird, alle Daten in das Ziel zu schreiben, wenn eine der Methoden println()
oder printf()
aufgerufen wird.
Erstellen Sie einen PrintWriter
Um einen Print Writer zu erstellen, müssen wir java.io.PrintWriter
zuerst das Paket importieren . Sobald wir das Paket hier importiert haben, können wir den Print Writer erstellen.
1. Verwenden anderer Autoren
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Hier,
- Wir haben einen Print Writer erstellt, der Daten in die durch das dargestellte Datei schreibt
FileWriter
- autoFlush ist ein optionaler Parameter, der angibt, ob eine automatische Spülung durchgeführt werden soll oder nicht
2. Verwenden anderer Ausgabestreams
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Hier,
- Wir haben einen Print Writer erstellt, der Daten in die durch das dargestellte Datei schreibt
FileOutputStream
- AutoFlush ist ein optionaler Parameter, der angibt, ob eine automatische Spülung durchgeführt werden soll oder nicht
3. Verwenden Sie den Dateinamen
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Hier,
- Wir haben einen Print Writer erstellt, der Daten in die angegebene Datei schreibt
- autoFlush ist ein optionaler boolescher Parameter, der angibt, ob eine automatische Spülung durchgeführt werden soll oder nicht
Hinweis : In allen oben genannten Fällen werden PrintWriter
Daten mit einer Standardzeichencodierung in die Datei geschrieben. Wir können jedoch auch die Zeichenkodierung ( UTF8 oder UTF16 ) angeben .
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Hier haben wir die Zeichensatzklasse verwendet, um die Zeichenkodierung anzugeben. Weitere Informationen finden Sie unter Java Charset (offizielle Java-Dokumentation).
Methoden von PrintWriter
Die PrintWriter
Klasse bietet verschiedene Methoden, mit denen wir Daten in die Ausgabe drucken können.
print () Methode
print()
- druckt die angegebenen Daten an den Writerprintln()
- druckt die Daten zusammen mit einem neuen Zeilenzeichen am Ende an den Schreiber
Beispielsweise,
import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Im obigen Beispiel haben wir einen Printwriter mit dem Namen output erstellt. Dieser Print Writer ist mit der Datei output.txt verknüpft .
PrintWriter output = new PrintWriter("output.txt");
Um Daten in die Datei zu drucken, haben wir die print()
Methode verwendet.
Wenn wir das Programm ausführen , wird die Datei output.txt mit dem folgenden Inhalt gefüllt.
This is a text inside the file.
printf () Methode
Die printf()
Methode kann verwendet werden, um die formatierte Zeichenfolge zu drucken. Es enthält 2 Parameter: formatierte Zeichenfolge und Argumente. Beispielsweise,
printf("I am %d years old", 25);
Hier,
- Ich bin
%d
Jahre alt, ist eine formatierte Zeichenfolge %d
sind ganzzahlige Daten in der formatierten Zeichenfolge- 25 ist ein Argument
Die formatierte Zeichenfolge enthält sowohl Text als auch Daten. Die Argumente ersetzen die Daten in der formatierten Zeichenfolge.
Daher wird % d durch 25 ersetzt .
Beispiel: printf () -Methode mit PrintWriter
import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Im obigen Beispiel haben wir einen Printwriter mit dem Namen output erstellt. Der Print Writer ist mit der Datei output.txt verknüpft .
PrintWriter output = new PrintWriter("output.txt");
Um den formatierten Text in die Datei zu drucken, haben wir die printf()
Methode verwendet.
Wenn wir das Programm ausführen , wird die Datei output.txt mit dem folgenden Inhalt gefüllt.
I am 25 years old.
Andere Methoden von PrintWriter
Methode | Beschreibung |
---|---|
close() | Schließt den Print Writer |
checkError() | Überprüft, ob im Writer ein Fehler vorliegt, und gibt ein boolesches Ergebnis zurück |
append() | Hängt die angegebenen Daten an den Writer an |
Weitere Informationen finden Sie unter Java PrintWriter (offizielle Java-Dokumentation).