Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java PrintStream“ klasę ir jos print () bei printf () metodus.
PrintStreamKlasės java.iopakuotėje gali būti naudojamas rašyti išvesties duomenis dažniausiai nuskaitoma forma (tekstas), o ne baitais.
Tai pratęsia abstrakčią klasę OutputStream.

„PrintStream“ darbas
Skirtingai nuo kitų išvesties srautų, PrintStreamprimityvius duomenis (sveiką skaičių, simbolį) paverčia teksto formatu, o ne baitais. Tada jie suformatuotus duomenis įrašo į išvesties srautą.
Be to, PrintStreamklasė nemeta jokių įvesties / išvesties išimčių. Vietoj to, checkError()norėdami rasti bet kokią klaidą , turime naudoti metodą.
Pastaba : PrintStreamklasėje taip pat yra automatinio plovimo funkcija. Tai reiškia, kad jis priverčia išvesties srautą rašyti visus duomenis į paskirties vietą esant vienai iš šių sąlygų:
- jei 
spausdinimo sraute įrašytas naujos eilutės simbolis - jei naudojamas 
println()metodas - jei spausdinimo sraute parašyta baitų masyvas
 
Sukurkite „PrintStream“
Norėdami sukurti „a“ PrintStream, pirmiausia turime importuoti java.io.PrintStreampaketą. Kai importuosime paketą, galime sukurti spausdinimo srautą.
1. Naudojant kitus išvesties srautus
 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 
Čia
- mes sukūrėme spausdinimo srautą, kuris įrašys suformatuotus duomenis į failą, kurį vaizduoja 
FileOutputStream - „autoFlush“ yra pasirinktinis loginis parametras, nurodantis, ar atlikti automatinį plovimą, ar ne
 
2. Naudojant failo pavadinimą
  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 
Čia
- mes sukūrėme spausdinimo srautą, kuris įrašys suformatuotus duomenis į nurodytą failą
 - „autoFlush“ yra pasirinktinis loginis parametras, nurodantis, ar atlikti automatinį praplovimą, ar ne
 
Pastaba : abiem atvejais PrintStreamįrašykite duomenis į failą naudodami numatytąjį simbolių kodavimą. Tačiau galime nurodyti ir simbolių kodavimą ( UTF8 arba UTF16 ).
 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 
Čia mes naudojome Charsetklasę, norėdami nurodyti simbolių kodavimą. Norėdami sužinoti daugiau, apsilankykite „Java Charset“ (oficiali „Java“ dokumentacija).
„PrintStream“ metodai
PrintStreamKlasė teikia įvairius metodus, kurie leidžia mums spausdinti duomenis prie išėjimo.
spausdinti () metodas
print()- atspausdina nurodytus duomenis į išvesties srautąprintln()- išspausdina duomenis išvesties sraute kartu su nauju eilutės simboliu pabaigoje
Pavyzdys: print () metodas su sistemos klase
 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 
Rezultatas
Labas pasauli.
Ankstesniame pavyzdyje mes nesukūrėme spausdinimo srauto. Tačiau mes galime naudoti klasės print()metodą PrintStream.
Jums gali būti įdomu, kaip tai įmanoma. Na, leiskite man paaiškinti, kas čia vyksta.
Atkreipkite dėmesį į eilutę,
 System.out.print(data); 
Čia
Systemyra paskutinė klasė, atsakinga už standartinių įvesties / išvesties operacijų atlikimąoutyra klasės kintamasisPrintStreamtipo paskelbtaSystemklasės
Kadangi jis outyra PrintStreamtipo, mes galime jį naudoti norėdami iškviesti visus PrintStreamklasės metodus .
Pavyzdys: print () metodas su „PrintStream“ klase
 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(); ) ) ) 
Ankstesniame pavyzdyje mes sukūrėme spausdinimo srautą, pavadintą išvestimi. Spausdinimo srautas yra susietas su output.txt failu.
 PrintStream output = new PrintStream("output.txt"); 
Norėdami spausdinti duomenis į failą, mes naudojome print()metodą.
Čia, kai vykdome programą, failas output.txt užpildomas tokiu turiniu.
 This is a text inside the file. 
printf () metodas
printf()Metodas gali būti naudojamas spausdinti suformatuotą eilutę. Jame yra 2 parametrai: suformatuota eilutė ir argumentai. Pavyzdžiui,
 printf("I am %d years old", 25); 
Čia
- Aš esu% d metų - suformatuota eilutė
 - % d yra sveiko skaičiaus duomenys suformatuotoje eilutėje
 - 25 yra argumentas
 
Suformatuota eilutė apima ir tekstą, ir duomenis. Argumentai pakeičia suformatuotos eilutės duomenis.
Taigi % d pakeičiamas 25 .
Pavyzdys: metodas printf () naudojant 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(); ) ) ) 
Ankstesniame pavyzdyje mes sukūrėme spausdinimo srautą, pavadintą išvestimi. Spausdinimo srautas susietas su failu output.txt .
 PrintStream output = new PrintStream("output.txt"); 
Norėdami išspausdinti suformatuotą tekstą į failą, naudojome printf()metodą.
Čia, kai vykdome programą, failas output.txt užpildomas tokiu turiniu.
 I am 25 years old.  
Kiti „PrintStream“ metodai
| Metodai | Aprašymai | 
|---|---|
close() |  uždaro spausdinimo srautą | 
checkError() |  patikrina, ar sraute nėra klaidos, ir pateikia loginį rezultatą | 
append() |  prideda nurodytus duomenis prie srauto | 
Norėdami sužinoti daugiau, apsilankykite „Java PrintStream“ (oficiali „Java“ dokumentacija).








