Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java PrintWriter“ ir jos print () bei printf () metodus.
PrintWriter
Klasės java.io
pakuotėje gali būti naudojamas rašyti išvesties duomenis dažniausiai nuskaitoma forma (tekstas).
Tai pratęsia abstrakčią klasę Writer
.
„PrintWriter“ darbas
Skirtingai nuo kitų rašytojų, PrintWriter
konvertuoja primityvius duomenis ( int
, float
, char
ir tt) į teksto formatu. Tada rašo rašytojui tuos suformatuotus duomenis.
Be to, PrintWriter
klasė nemeta jokių įvesties / išvesties išimčių. Vietoj to, checkError()
norėdami rasti bet kokią klaidą , turime naudoti metodą.
Pastaba : PrintWriter
klasėje taip pat yra automatinio plovimo funkcija. Tai reiškia, kad tai priverčia rašytoją rašyti visus duomenis į paskirties vietą, jei iškviečiamas vienas iš println()
arba printf()
būdų.
Sukurkite „PrintWriter“
Norėdami sukurti spausdinimo rašytoją, pirmiausia turime importuoti java.io.PrintWriter
paketą. Kai importuosime paketą, galime sukurti spausdinimo rašytoją.
1. Naudodamiesi kitais rašytojais
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Čia
- sukūrėme spausdinimo įrenginį, kuris įrašys duomenis į failą, kurį žymi
FileWriter
- „autoFlush“ yra pasirenkamas parametras, nurodantis, ar reikia atlikti automatinį plovimą, ar ne
2. Naudojant kitus išvesties srautus
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Čia
- sukūrėme spausdinimo įrenginį, kuris įrašys duomenis į failą, kurį žymi
FileOutputStream
- „autoFlush“ yra pasirenkamas parametras, nurodantis, ar atlikti automatinį plovimą, ar ne
3. Naudojant failo pavadinimą
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Čia
- sukūrėme spausdinimo rašytoją, kuris įrašys duomenis į nurodytą failą
- „autoFlush“ yra pasirinktinis loginis parametras, nurodantis, ar atlikti automatinį plovimą, ar ne
Pastaba : Visais aukščiau nurodytais atvejais PrintWriter
duomenys įrašomi į failą naudojant numatytąjį simbolių kodavimą. Tačiau galime nurodyti ir simbolių kodavimą ( UTF8 arba UTF16 ).
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Čia mes naudojome „Charset“ klasę, norėdami nurodyti simbolių kodavimą. Norėdami sužinoti daugiau, apsilankykite „Java Charset“ (oficiali „Java“ dokumentacija).
„PrintWriter“ metodai
PrintWriter
Klasė teikia įvairius metodus, kurie leidžia mums spausdinti duomenis prie išėjimo.
spausdinti () metodas
print()
- spausdina nurodytus duomenis rašytojuiprintln()
- spausdina duomenis rašytojui kartu su nauju eilutės simboliu pabaigoje
Pavyzdžiui,
import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Ankstesniame pavyzdyje mes sukūrėme spausdinimo rašytoją, pavadintą produkcija. Šis spausdinimo rašytojas susietas su failu output.txt .
PrintWriter output = new PrintWriter("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ų yra 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 PrintWriter
import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("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 rašytoją, pavadintą produkcija. Spausdintuvo rašytojas susietas su failu output.txt .
PrintWriter output = new PrintWriter("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 „PrintWriter“ metodai
Metodas | apibūdinimas |
---|---|
close() | uždaro spaudos rašytojas |
checkError() | patikrina, ar nėra klaidos rašytuve, ir pateikia loginį rezultatą |
append() | nurodytus duomenis prideda prie rašytojo |
Norėdami sužinoti daugiau, apsilankykite „Java PrintWriter“ (oficiali „Java“ dokumentacija).