U ovom ćemo uputstvu uz primjere naučiti o klasi Java PrintStream i njenim metodama print () i printf ().
PrintStream
Razred java.io
paket 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, PrintStream
pretvara primitivne podatke (cijeli broj, znak) u tekstualni format umjesto u bajtove. Zatim zapisuje te formatirane podatke u izlazni tok.
Također, PrintStream
klasa ne izuzima nikakvu ulazno / izlaznu iznimku. Umjesto toga, trebamo koristiti checkError()
metodu kako bismo pronašli bilo kakvu pogrešku u njoj.
Napomena : PrintStream
Klasa 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.PrintStream
paket. 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 PrintStream
upiš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 Charset
klasu koristili za specificiranje kodiranja znakova. Da biste saznali više, posjetite Java Charset (službena Java dokumentacija).
Metode PrintStreama
PrintStream
Klasa pruža razne metode koje nam omogućuju ispis podataka na izlaz.
print () Metoda
print()
- ispisuje navedene podatke u izlazni tokprintln()
- 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 PrintStream
nastave.
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 operacijeout
je varijabla klasePrintStream
tipa deklarirane uSystem
klasi
Sada, budući da out
je PrintStream
tipa, možemo ga koristiti za pozivanje svih metoda PrintStream
klase.
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).