Selles õpetuses õpime näidete abil Java PrintStream klassi ning selle print () ja printf () meetodeid.
PrintStream
Klassi java.io
pakett saab kasutada kirjutada väljund andmed tavaliselt kujul (tekst) asemel baiti.
See laiendab abstraktset klassi OutputStream
.
PrintStreami töö
Erinevalt teistest väljundvoogudest PrintStream
teisendab primitiivsed andmed (täisarv, märk) baitide asemel tekstivormingusse. Seejärel kirjutab need vormindatud andmed väljundvoogu.
Samuti PrintStream
ei viska klass ühtegi sisendi / väljundi erandit. Selle asemel peame checkError()
selle vea leidmiseks kasutama meetodit.
Märkus : PrintStream
klassil 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 PrintStream
peame java.io.PrintStream
esmalt 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 PrintStream
kirjutage 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 Charset
märgi kodeeringu täpsustamiseks kasutanud klassi. Lisateabe saamiseks külastage Java Charset (ametlik Java dokumentatsioon).
PrintStreami meetodid
PrintStream
Klassi 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,
System
on viimane klass, mis vastutab standardsete sisend- / väljundoperatsioonide teostamise eestout
on klassi muutujaPrintStream
tüüpi deklareeritudSystem
klassi
Kuna see out
on PrintStream
tüüpi, saame seda kasutada kõigi PrintStream
klassi 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).