În acest tutorial, vom afla despre clasa Java PrintStream și metodele sale print () și printf () cu ajutorul unor exemple.
PrintStream
Clasa a java.io
pachetului poate fi folosit pentru a scrie datele de ieșire într -o formă care poate fi citit în mod obișnuit (text) în loc de bytes.
Extinde clasa abstractă OutputStream
.
Funcționarea PrintStream
Spre deosebire de alte fluxuri de ieșire, PrintStream
convertește datele primitive (număr întreg, caracter) în format text în loc de octeți. Apoi scrie acele date formatate în fluxul de ieșire.
Și, de asemenea, PrintStream
clasa nu aruncă nicio excepție de intrare / ieșire. În schimb, trebuie să folosim checkError()
metoda pentru a găsi orice eroare în ea.
Notă : PrintStream
Clasa are și o caracteristică de spălare automată. Aceasta înseamnă că forțează fluxul de ieșire să scrie toate datele la destinație în una dintre următoarele condiții:
- dacă caracterul newline
este scris în fluxul de imprimare
- dacă
println()
se invocă metoda - dacă este scrisă o serie de octeți în fluxul de imprimare
Creați un PrintStream
Pentru a crea un PrintStream
, trebuie să importăm mai java.io.PrintStream
întâi pachetul. Odată ce am importat pachetul, iată cum putem crea fluxul de imprimare.
1. Utilizarea altor fluxuri de ieșire
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush);
Aici,
- am creat un flux de imprimare care va scrie date formatate în fișierul reprezentat de
FileOutputStream
- autoFlush este un parametru boolean opțional care specifică dacă se efectuează sau nu spălarea automată
2. Folosind numele fișierului
// Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush);
Aici,
- am creat un flux de tipărire care va scrie date formatate în fișierul specificat
- autoFlush este un parametru boolean opțional care specifică dacă se efectuează sau nu autoflush
Notă : În ambele cazuri, PrintStream
datele de scriere în fișier folosind o codificare implicită a caracterelor. Cu toate acestea, putem specifica și codificarea caracterelor ( UTF8 sau UTF16 ).
// Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
Aici, am folosit Charset
clasa pentru a specifica codificarea caracterelor. Pentru a afla mai multe, vizitați Java Charset (documentație oficială Java).
Metode de PrintStream
PrintStream
Clasa oferă diverse metode care ne permit imprimarea datelor la ieșire.
print () Metoda
print()
- tipărește datele specificate în fluxul de ieșireprintln()
- tipărește datele în fluxul de ieșire împreună cu un nou caracter de linie la sfârșit
Exemplu: metoda print () cu clasa System
class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) )
Ieșire
Salut Lume.
În exemplul de mai sus, nu am creat un flux de imprimare. Cu toate acestea, putem folosi print()
metoda PrintStream
clasei.
S-ar putea să vă întrebați cum este posibil acest lucru. Ei bine, lasă-mă să explic ce se întâmplă aici.
Observați linia,
System.out.print(data);
Aici,
System
este o clasă finală care este responsabilă pentru efectuarea operațiunilor standard de intrare / ieșireout
este o variabilă de clasă dePrintStream
tip declarată înSystem
clasă
Acum, deoarece out
este de PrintStream
tip, îl putem folosi pentru a apela toate metodele PrintStream
clasei.
Exemplu: metoda print () cu clasa 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(); ) ) )
În exemplul de mai sus, am creat un flux de imprimare numit output. Fluxul de imprimare este legat de fișierul output.txt .
PrintStream output = new PrintStream("output.txt");
Pentru a imprima date în fișier, am folosit print()
metoda.
Aici, când rulăm programul, fișierul output.txt este umplut cu următorul conținut.
This is a text inside the file.
printf () Metoda
printf()
Metoda poate fi folosită pentru a imprima șirul de formatat. Include 2 parametri: șir formatat și argumente. De exemplu,
printf("I am %d years old", 25);
Aici,
- Am% d ani este un șir formatat
- % d reprezintă date întregi în șirul formatat
- 25 este un argument
Șirul formatat include atât text, cât și date. Și argumentele înlocuiesc datele din șirul formatat.
Prin urmare, % d este înlocuit cu 25 .
Exemplu: metoda printf () folosind 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(); ) ) )
În exemplul de mai sus, am creat un flux de imprimare numit output. Fluxul de imprimare este legat de fișierul output.txt .
PrintStream output = new PrintStream("output.txt");
Pentru a imprima textul formatat în fișier, am folosit printf()
metoda.
Aici, când rulăm programul, fișierul output.txt este umplut cu următorul conținut.
I am 25 years old.
Alte metode ale PrintStream
Metode | Descrieri |
---|---|
close() | închide fluxul de imprimare |
checkError() | verifică dacă există o eroare în flux și returnează un rezultat boolean |
append() | adaugă datele specificate la flux |
Pentru a afla mai multe, vizitați Java PrintStream (documentație oficială Java).