In diesem Tutorial lernen wir anhand von Beispielen die Java PrintStream-Klasse und ihre Methoden print () und printf () kennen.
Die PrintStreamKlasse des java.ioPakets kann verwendet werden, um Ausgabedaten in allgemein lesbarer Form (Text) anstelle von Bytes zu schreiben.
Es erweitert die abstrakte Klasse OutputStream.

Arbeitsweise von PrintStream
Im Gegensatz zu anderen Ausgabestreams PrintStreamkonvertiert der die primitiven Daten (Ganzzahl, Zeichen) in das Textformat anstelle von Bytes. Anschließend werden die formatierten Daten in den Ausgabestream geschrieben.
Außerdem PrintStreamlöst die Klasse keine Eingabe- / Ausgabeausnahme aus. Stattdessen müssen wir die checkError()Methode verwenden, um Fehler darin zu finden.
Hinweis : Die PrintStreamKlasse verfügt auch über eine Funktion zum automatischen Spülen. Dies bedeutet, dass der Ausgabestream gezwungen wird, alle Daten unter einer der folgenden Bedingungen in das Ziel zu schreiben:
- wenn ein Zeilenumbruchzeichen 
in den Druckstrom geschrieben wird - wenn die 
println()Methode aufgerufen wird - wenn ein Array von Bytes in den Druckstrom geschrieben wird
 
Erstellen Sie einen PrintStream
Um ein zu erstellen PrintStream, müssen wir java.io.PrintStreamzuerst das Paket importieren . Sobald wir das Paket hier importiert haben, können wir den Druckstrom erstellen.
1. Verwenden anderer Ausgabestreams
 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 
Hier,
- Wir haben einen Druckdatenstrom erstellt, der formatierte Daten in die durch dargestellte Datei schreibt 
FileOutputStream - autoFlush ist ein optionaler boolescher Parameter, der angibt, ob eine automatische Spülung durchgeführt werden soll oder nicht
 
2. Verwenden Sie den Dateinamen
  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 
Hier,
- Wir haben einen Druckdatenstrom erstellt, der formatierte Daten in die angegebene Datei schreibt
 - autoFlush ist ein optionaler boolescher Parameter, der angibt, ob Autoflush ausgeführt werden soll oder nicht
 
Hinweis : In beiden Fällen werden die PrintStreamDaten mit einer Standardzeichencodierung in die Datei geschrieben. Wir können jedoch auch die Zeichenkodierung ( UTF8 oder UTF16 ) angeben .
 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 
Hier haben wir die CharsetKlasse verwendet, um die Zeichenkodierung anzugeben. Weitere Informationen finden Sie unter Java Charset (offizielle Java-Dokumentation).
Methoden von PrintStream
Die PrintStreamKlasse bietet verschiedene Methoden, mit denen wir Daten in die Ausgabe drucken können.
print () Methode
print()- druckt die angegebenen Daten in den Ausgabestreamprintln()- druckt die Daten zusammen mit einem neuen Zeilenzeichen am Ende in den Ausgabestream
Beispiel: print () -Methode mit Systemklasse
 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 
Ausgabe
Hallo Welt.
Im obigen Beispiel haben wir keinen Druckstrom erstellt. Wir können jedoch die print()Methode der PrintStreamKlasse verwenden.
Sie fragen sich vielleicht, wie das möglich ist. Lassen Sie mich erklären, was hier passiert.
Beachten Sie die Linie,
 System.out.print(data); 
Hier,
Systemist eine letzte Klasse, die für die Ausführung der Standardeingabe / -ausgabe verantwortlich istoutist eine Klassenvariable vomPrintStreamTyp, die in derSystemKlasse deklariert ist
Da outes sich nun um einen PrintStreamTyp handelt, können wir damit alle PrintStreamKlassenmethoden aufrufen .
Beispiel: print () -Methode mit PrintStream-Klasse
 import java.io.PrintStream; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintStream output = new PrintStream("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 
Im obigen Beispiel haben wir einen Druckstrom mit dem Namen output erstellt. Der Druckstrom ist mit der Datei output.txt verknüpft .
 PrintStream output = new PrintStream("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 und habe 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 PrintStream
 import java.io.PrintStream; class Main ( public static void main(String() args) ( try ( PrintStream output = new PrintStream("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 Druckstrom mit dem Namen output erstellt. Der Druckstrom ist mit der Datei output.txt verknüpft .
 PrintStream output = new PrintStream("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 PrintStream
| Methoden | Beschreibungen | 
|---|---|
close() |  Schließt den Druckstrom | 
checkError() |  Überprüft, ob im Stream ein Fehler vorliegt, und gibt ein boolesches Ergebnis zurück | 
append() |  Hängt die angegebenen Daten an den Stream an | 
Weitere Informationen finden Sie unter Java PrintStream (offizielle Java-Dokumentation).








