V tej vadnici bomo s pomočjo primerov spoznali Java PrintWriter in njegove metode print () in printf ().
PrintWriter
Razred java.io
paket se lahko uporablja za pisanje izhodne podatke v skupno berljivi obliki (besedilo).
Razširja abstraktni razred Writer
.
Delo PrintWriterja
Za razliko od drugih avtorjev, PrintWriter
pretvori primitivne podatke ( int
, float
, char
, itd) v besedilni obliki. Nato zapisane podatke zapisuje zapisovalniku.
Poleg tega PrintWriter
razred ne povzroča nobene izjeme vhod / izhod. Namesto tega moramo z checkError()
metodo poiskati morebitno napako.
Opomba : PrintWriter
Razred ima tudi funkcijo samodejnega splakovanja. To pomeni, da mora zapisovalnik zapisati vse podatke na cilj, če je poklicana ena od metod println()
ali printf()
.
Ustvarite PrintWriter
Če želimo ustvariti tiskalnik, moramo najprej uvoziti java.io.PrintWriter
paket. Ko uvozimo paket, je tukaj, kako lahko ustvarimo tiskalnik.
1. Uporaba drugih pisateljev
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Tukaj,
- ustvarili smo tiskalnik, ki bo zapisoval podatke v datoteko, ki jo predstavlja
FileWriter
- autoFlush je neobvezen parameter, ki določa, ali naj se samodejno izpiranje izvede
2. Uporaba drugih izhodnih tokov
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Tukaj,
- ustvarili smo tiskalnik, ki bo zapisoval podatke v datoteko, ki jo predstavlja
FileOutputStream
- autoFlush je neobvezen parameter, ki določa, ali naj se samodejno izpiranje izvede
3. Uporaba imena datoteke
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Tukaj,
- ustvarili smo tiskalnik, ki bo zapisoval podatke v določeno datoteko
- autoFlush je neobvezen logični parameter, ki določa, ali naj se izvede samodejno izpiranje ali ne
Opomba : V vseh zgornjih primerih PrintWriter
zapisuje podatke v datoteko s privzetim kodiranjem znakov. Lahko pa določimo tudi kodiranje znakov ( UTF8 ali UTF16 ).
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Tu smo za določanje kodiranja znakov uporabili razred Charset. Če želite izvedeti več, obiščite Java Charset (uradna dokumentacija Java).
Metode PrintWriter
PrintWriter
Razred določa različne metode, ki nam omogočajo tiskanje podatkov na izhod.
print () Metoda
print()
- natisne določene podatke na zapisovalnikprintln()
- natisne podatke na zapisovalnik skupaj z novim znakom na koncu
Na primer
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(); ) ) )
V zgornjem primeru smo ustvarili tiskalnik z imenom output. Ta zapisovalnik tiska je povezan z datoteko output.txt .
PrintWriter output = new PrintWriter("output.txt");
Za tiskanje podatkov v datoteko smo uporabili print()
metodo.
Ko zaženemo program, je datoteka output.txt napolnjena z naslednjo vsebino.
This is a text inside the file.
metoda printf ()
printf()
Metoda se lahko uporabi za tiskanje formatiran niz. Vključuje 2 parametra: formatirani niz in argumente. Na primer
printf("I am %d years old", 25);
Tukaj,
%d
Stara sem leta je formatiran niz%d
je celoštevilčni podatek v formatiranem nizu- 25 je argument
Formatirani niz vključuje besedilo in podatke. Argumenti nadomeščajo podatke znotraj formatiranega niza.
Zato se % d nadomesti s 25 .
Primer: metoda printf () z uporabo 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(); ) ) )
V zgornjem primeru smo ustvarili tiskalnik z imenom output. Tiskalnik je povezan z datoteko output.txt .
PrintWriter output = new PrintWriter("output.txt");
Za tiskanje formatiranega besedila v datoteko smo uporabili printf()
metodo.
Ko zaženemo program, je datoteka output.txt napolnjena z naslednjo vsebino.
I am 25 years old.
Druge metode tiskanja
Metoda | Opis |
---|---|
close() | zapre tiskalnik |
checkError() | preveri, ali je v zapisovalniku napaka, in vrne logični rezultat |
append() | doda podane podatke zapisovalniku |
Če želite izvedeti več, obiščite Java PrintWriter (uradna dokumentacija Java).