Java PrintWriter (mit Beispielen)

In diesem Tutorial lernen wir anhand von Beispielen Java PrintWriter und seine Methoden print () und printf () kennen.

Die PrintWriterKlasse des java.ioPakets 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, PrintWriterwandelt die primitiven Daten ( int, float, char, etc.) in das Textformat. Anschließend werden die formatierten Daten in den Writer geschrieben.

Außerdem PrintWriterlöst die Klasse keine Eingabe- / Ausgabeausnahme aus. Stattdessen müssen wir die checkError()Methode verwenden, um Fehler darin zu finden.

Hinweis : Die PrintWriterKlasse 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.PrintWriterzuerst 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 PrintWriterDaten 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 PrintWriterKlasse bietet verschiedene Methoden, mit denen wir Daten in die Ausgabe drucken können.

print () Methode

  • print() - druckt die angegebenen Daten an den Writer
  • println() - 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 %dJahre 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).

Interessante Beiträge...