Java-PrintStream-Klasse
Java-PrintStream-Klasse
In diesem Tutorial lernen wir anhand von Beispielen die Java-Klasse PrintStream und ihre Methoden print() und printf() kennen.
Der PrintStream
Klasse der java.io
Paket 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 Ausgabeströmen ist der PrintStream
konvertiert die primitiven Daten (Ganzzahl, Zeichen) in das Textformat anstelle von Bytes. Dann schreibt es diese formatierten Daten in den Ausgabestrom.
Und auch die PrintStream
Die Klasse löst keine Eingabe-/Ausgabeausnahme aus. Stattdessen müssen wir den checkError()
verwenden Methode, um Fehler darin zu finden.
Hinweis :Die PrintStream
Klasse hat auch eine Funktion der automatischen Spülung. Dies bedeutet, dass der Ausgabestrom unter einer der folgenden Bedingungen gezwungen wird, alle Daten an das Ziel zu schreiben:
- wenn Zeilenumbruchzeichen
\n
wird in den Druckstrom geschrieben - wenn der
println()
Methode wird aufgerufen - wenn ein Array von Bytes in den Druckstrom geschrieben wird
Druckstream erstellen
Um einen PrintStream
zu erstellen , müssen wir den java.io.PrintStream
importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir wie folgt den Druckstrom erstellen.
1. Verwendung anderer Ausgabeströme
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String file);
// Creates a PrintStream
PrintStream output = new PrintStream(file, autoFlush);
Hier,
- wir haben einen Druckstrom erstellt, der formatierte Daten in die durch
FileOutputStream
dargestellte Datei schreibt - der autoFlush ist ein optionaler boolescher Parameter, der angibt, ob eine automatische Leerung durchgeführt werden soll oder nicht
2. Dateiname verwenden
// Creates a PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush);
Hier,
- Wir haben einen Druckstrom erstellt, der formatierte Daten in die angegebene Datei schreibt
- autoFlush ist ein optionaler boolescher Parameter, der angibt, ob eine automatische Leerung durchgeführt werden soll oder nicht
Hinweis :In beiden Fällen die PrintStream
Schreiben Sie Daten in die Datei, indem Sie eine Standardzeichencodierung verwenden. Wir können jedoch die Zeichenkodierung (UTF8 oder UTF16 ) ebenfalls.
// Creates a PrintStream using some character encoding
PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
Hier haben wir den Charset
verwendet Klasse, um die Zeichencodierung anzugeben. Um mehr zu erfahren, besuchen Sie Java Charset (offizielle Java-Dokumentation).
Methoden von PrintStream
Die PrintStream
Die Klasse stellt verschiedene Methoden bereit, die es uns ermöglichen, Daten in die Ausgabe zu drucken.
print()-Methode
print()
- gibt die angegebenen Daten in den Ausgabestrom ausprintln()
- gibt die Daten zusammen mit einem neuen Zeilenzeichen am Ende in den Ausgabestrom aus
Beispiel:Methode print() mit Klasse System
class Main {
public static void main(String[] args) {
String data = "Hello World.";
System.out.print(data);
}
}
Ausgabe
Hello World.
Im obigen Beispiel haben wir keinen Druckdatenstrom erstellt. Wir können jedoch den print()
verwenden Methode des PrintStream
Klasse.
Sie fragen sich vielleicht, wie das möglich ist. Lassen Sie mich erklären, was hier passiert.
Beachten Sie die Zeile,
System.out.print(data);
Hier,
System
ist eine letzte Klasse, die für die Durchführung von Standard-Eingabe/Ausgabe-Operationen verantwortlich istout
ist eine Klassenvariable vonPrintStream
Typ deklariert inSystem
Klasse
Jetzt seit out
ist PrintStream
type, können wir damit alle Methoden von PrintStream
aufrufen Klasse.
Beispiel:Methode print() mit Klasse PrintStream
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 Druckdatenstrom mit dem Namen output erstellt . Der Druckstrom wird mit der output.txt verknüpft Datei.
PrintStream output = new PrintStream("output.txt");
Um Daten in die Datei zu drucken, haben wir den print()
verwendet Methode.
Hier, wenn wir das Programm ausführen, die output.txt Datei wird mit folgendem Inhalt gefüllt.
This is a text inside the file.
printf()-Methode
Der printf()
-Methode kann verwendet werden, um die formatierte Zeichenfolge zu drucken. Es enthält 2 Parameter:formatierte Zeichenfolge und Argumente. Zum Beispiel
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. Und die Argumente ersetzen die Daten innerhalb der formatierten Zeichenfolge.
Daher das %d wird durch 25 ersetzt .
Beispiel:Methode printf() 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 Druckdatenstrom mit dem Namen output erstellt . Der Druckstrom wird mit der Datei output.txt verknüpft .
PrintStream output = new PrintStream("output.txt");
Um den formatierten Text in die Datei zu drucken, haben wir den printf()
verwendet Methode.
Hier, wenn wir das Programm ausführen, die output.txt Datei wird mit folgendem Inhalt gefüllt.
I am 25 years old.
Andere Methoden von PrintStream
Methoden | Beschreibungen |
---|---|
close() | schließt den Druckstrom |
checkError() | überprüft, ob es einen Fehler im Stream gibt und gibt ein boolesches Ergebnis zurück |
append() | hängt die angegebenen Daten an den Stream an |
Um mehr zu erfahren, besuchen Sie Java PrintStream (offizielle Java-Dokumentation).
Java