Java PrintStream (cu exemple)

În acest tutorial, vom afla despre clasa Java PrintStream și metodele sale print () și printf () cu ajutorul unor exemple.

PrintStreamClasa a java.iopachetului 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, PrintStreamconverteș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, PrintStreamclasa 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ă : PrintStreamClasa 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, PrintStreamdatele 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 Charsetclasa pentru a specifica codificarea caracterelor. Pentru a afla mai multe, vizitați Java Charset (documentație oficială Java).

Metode de PrintStream

PrintStreamClasa oferă diverse metode care ne permit imprimarea datelor la ieșire.

print () Metoda

  • print() - tipărește datele specificate în fluxul de ieșire
  • println() - 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 PrintStreamclasei.

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șire
  • outeste o variabilă de clasă de PrintStreamtip declarată în Systemclasă

Acum, deoarece outeste de PrintStreamtip, îl putem folosi pentru a apela toate metodele PrintStreamclasei.

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).

Articole interesante...