Java PrintStream (s primjerima)

U ovom ćemo uputstvu uz primjere naučiti o klasi Java PrintStream i njenim metodama print () i printf ().

PrintStreamRazred java.iopaket se može koristiti za pisanje izlaznih podataka u najčešće čitljivom obliku (tekst) umjesto bajtova.

Proširuje apstraktnu klasu OutputStream.

Rad PrintStreama

Za razliku od ostalih izlaznih tokova, PrintStreampretvara primitivne podatke (cijeli broj, znak) u tekstualni format umjesto u bajtove. Zatim zapisuje te formatirane podatke u izlazni tok.

Također, PrintStreamklasa ne izuzima nikakvu ulazno / izlaznu iznimku. Umjesto toga, trebamo koristiti checkError()metodu kako bismo pronašli bilo kakvu pogrešku u njoj.

Napomena : PrintStreamKlasa također ima značajku automatskog ispiranja. To znači da prisiljava izlazni tok na upisivanje svih podataka na odredište pod jednim od sljedećih uvjeta:

  • ako je u toku ispisa napisan znak novog retka
  • ako se println()metoda poziva
  • ako je u tok ispisa napisan niz bajtova

Stvorite PrintStream

Da bismo stvorili PrintStream, prvo moramo uvesti java.io.PrintStreampaket. Jednom kada uvozimo paket, evo kako možemo stvoriti tok ispisa.

1. Korištenje ostalih izlaznih tokova

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 

Ovdje,

  • stvorili smo tok ispisa koji će formatirati podatke u datoteku koju predstavlja FileOutputStream
  • autoFlush je neobavezni logički parametar koji određuje treba li izvršiti automatsko ispiranje ili ne

2. Korištenje naziva datoteke

  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 

Ovdje,

  • stvorili smo tok ispisa koji će formatirati podatke u navedenu datoteku
  • autoFlush je neobavezni logički parametar koji određuje treba li izvršiti automatsko ispiranje ili ne

Napomena : U oba slučaja PrintStreamupišite podatke u datoteku koristeći neko zadano kodiranje znakova. Međutim, možemo odrediti i kodiranje znakova ( UTF8 ili UTF16 ).

 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 

Ovdje smo Charsetklasu koristili za specificiranje kodiranja znakova. Da biste saznali više, posjetite Java Charset (službena Java dokumentacija).

Metode PrintStreama

PrintStreamKlasa pruža razne metode koje nam omogućuju ispis podataka na izlaz.

print () Metoda

  • print() - ispisuje navedene podatke u izlazni tok
  • println() - ispisuje podatke u izlazni tok zajedno s novim znakom retka na kraju

Primjer: metoda print () s klasom System

 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 

Izlaz

 Pozdrav svijete. 

U gornjem primjeru nismo stvorili tok ispisa. Međutim, možemo se poslužiti print()metodom PrintStreamnastave.

Možda se pitate kako je to moguće. Pa, dopustite mi da objasnim što se ovdje događa.

Primijetite crtu,

 System.out.print(data); 

Ovdje,

  • System je završna klasa koja je odgovorna za izvođenje standardne ulazno / izlazne operacije
  • outje varijabla klase PrintStreamtipa deklarirane u Systemklasi

Sada, budući da outje PrintStreamtipa, možemo ga koristiti za pozivanje svih metoda PrintStreamklase.

Primjer: metoda print () s klasom 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(); ) ) ) 

U gornjem primjeru stvorili smo tok ispisa pod nazivom output. Tok ispisa povezan je s datotekom output.txt .

 PrintStream output = new PrintStream("output.txt"); 

Za ispis podataka u datoteku koristili smo print()metodu.

Ovdje, kada pokrenemo program, datoteka output.txt puni se sljedećim sadržajem.

 This is a text inside the file. 

metoda printf ()

printf()Metoda može se koristiti za ispis oblikovanog niza. Sadrži 2 parametra: formatirani niz i argumenti. Na primjer,

 printf("I am %d years old", 25); 

Ovdje,

  • Imam% d godina je formatirani niz
  • % d je cjelobrojni podatak u formatiranom nizu
  • 25 je argument

Formatirani niz uključuje i tekst i podatke. A, argumenti zamjenjuju podatke unutar formatiranog niza.

Stoga se % d zamjenjuje s 25 .

Primjer: metoda printf () koja koristi 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(); ) ) ) 

U gornjem primjeru stvorili smo tok ispisa pod nazivom output. Tok ispisa povezan je s datotekom output.txt .

 PrintStream output = new PrintStream("output.txt"); 

Za ispis oblikovanog teksta u datoteku koristili smo printf()metodu.

Ovdje, kada pokrenemo program, datoteka output.txt puni se sljedećim sadržajem.

 I am 25 years old. 

Ostale metode PrintStreama

Metode Opisi
close() zatvara tok ispisa
checkError() provjerava postoji li pogreška u toku i vraća logički rezultat
append() dodaje navedene podatke u tok

Da biste saznali više, posjetite Java PrintStream (službena Java dokumentacija).

Zanimljivi članci...