Java PrintStream (koos näidetega)

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äljundvoogu
  • println() - 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,

  • System on viimane klass, mis vastutab standardsete sisend- / väljundoperatsioonide teostamise eest
  • outon klassi muutuja PrintStreamtüüpi deklareeritud Systemklassi

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

Huvitavad Artiklid...