Selles õpetuses õpime näidete abil Java PrintStream klassi ning selle print () ja printf () meetodeid.
PrintStreamKlassi java.iopakett saab kasutada kirjutada väljund andmed tavaliselt kujul (tekst) asemel baiti.
See laiendab abstraktset klassi OutputStream.

PrintStreami töö
Erinevalt teistest väljundvoogudest PrintStreamteisendab primitiivsed andmed (täisarv, märk) baitide asemel tekstivormingusse. Seejärel kirjutab need vormindatud andmed väljundvoogu.
Samuti PrintStreamei viska klass ühtegi sisendi / väljundi erandit. Selle asemel peame checkError()selle vea leidmiseks kasutama meetodit.
Märkus : PrintStreamklassil on ka automaatse loputamise funktsioon. See tähendab, et see sunnib väljundvoogu kõik andmed sihtkohta kirjutama ühel järgmistest tingimustest:
- kui 
printimisvoogu on kirjutatud uue rea märk - kui 
println()meetodile tuginetakse - kui prindivoogu on kirjutatud baitide massiiv
 
Looge PrintStream
A loomiseks PrintStreampeame java.io.PrintStreamesmalt pakendi importima . Kui pakett on siia imporditud, saame printimisvoo luua.
1. Muude väljundvoogude kasutamine
 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 
Siin,
- oleme loonud prindivoo, mis kirjutab vormindatud andmed faili, mida tähistab 
FileOutputStream - autoFlush on valikuline tõeväärtuse parameeter, mis määrab, kas teha automaatne loputus või mitte
 
2. Failinime kasutamine
  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 
Siin,
- oleme loonud prindivoo, mis kirjutab vormindatud andmed määratud faili
 - autoFlush on valikuline tõeväärtuse parameeter, mis määrab, kas teha automaatne loputamine või mitte
 
Märkus . Mõlemal juhul PrintStreamkirjutage andmed faili mõne vaikimisi märgikodeeringu abil. Kuid saame määrata ka märkide kodeeringu ( UTF8 või UTF16 ).
 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 
Siin oleme Charsetmärgi kodeeringu täpsustamiseks kasutanud klassi. Lisateabe saamiseks külastage Java Charset (ametlik Java dokumentatsioon).
PrintStreami meetodid
PrintStreamKlassi pakub erinevaid meetodeid, mis võimaldavad meil printida andmeid väljund.
print () meetod
print()- prindib määratud andmed väljundvooguprintln()- prindib andmed väljundvoogu koos uue reamärgiga lõpus
Näide: meetod print () süsteemiklassiga
 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 
Väljund
Tere, Maailm.
Ülaltoodud näites ei ole me printimisvoogu loonud. Kuid saame kasutada klassi print()meetodit PrintStream.
Võite mõelda, kuidas see on võimalik. Noh, lubage mul selgitada, mis siin toimub.
Pange tähele joont,
 System.out.print(data); 
Siin,
Systemon viimane klass, mis vastutab standardsete sisend- / väljundoperatsioonide teostamise eestouton klassi muutujaPrintStreamtüüpi deklareeritudSystemklassi
Kuna see outon PrintStreamtüüpi, saame seda kasutada kõigi PrintStreamklassi meetodite kutsumiseks .
Näide: print () meetod printStreami klassiga
 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(); ) ) ) 
Ülaltoodud näites oleme loonud väljundi nimelise printimisvoo. Prindivoog on lingitud failiga output.txt .
 PrintStream output = new PrintStream("output.txt"); 
Andmete faili printimiseks oleme kasutanud print()meetodit.
Siin on programmi käivitamisel fail output.txt täidetud järgmise sisuga.
 This is a text inside the file. 
printf () meetod
printf()Meetodit saab kasutada printida vormindatud stringi. See sisaldab 2 parameetrit: vormindatud string ja argumendid. Näiteks,
 printf("I am %d years old", 25); 
Siin,
- Ma olen% d aastat vana on vormindatud string
 - % d on täisarvandmed vormindatud stringis
 - 25 on argument
 
Vormindatud string sisaldab nii teksti kui ka andmeid. Ja argumendid asendavad vormindatud stringis olevad andmed.
Seetõttu asendatakse % d arvuga 25 .
Näide: meetod printf () PrintStreami abil
 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(); ) ) ) 
Ülaltoodud näites oleme loonud väljundi nimelise printimisvoo. Prindivoog on seotud failiga output.txt .
 PrintStream output = new PrintStream("output.txt"); 
Vormindatud teksti faili printimiseks oleme kasutanud printf()meetodit.
Siin on programmi käivitamisel fail output.txt täidetud järgmise sisuga.
 I am 25 years old.  
Muud PrintStreami meetodid
| Meetodid | Kirjeldused | 
|---|---|
close() |  sulgeb prindivoo | 
checkError() |  kontrollib, kas voos on viga, ja tagastab tõeväärtuse tulemuse | 
append() |  lisab vooga määratud andmed | 
Lisateabe saamiseks külastage Java PrintStreami (ametlik Java-dokumentatsioon).








