Java PrintWriter (z primeri)

V tej vadnici bomo s pomočjo primerov spoznali Java PrintWriter in njegove metode print () in printf ().

PrintWriterRazred java.iopaket se lahko uporablja za pisanje izhodne podatke v skupno berljivi obliki (besedilo).

Razširja abstraktni razred Writer.

Delo PrintWriterja

Za razliko od drugih avtorjev, PrintWriterpretvori primitivne podatke ( int, float, char, itd) v besedilni obliki. Nato zapisane podatke zapisuje zapisovalniku.

Poleg tega PrintWriterrazred ne povzroča nobene izjeme vhod / izhod. Namesto tega moramo z checkError()metodo poiskati morebitno napako.

Opomba : PrintWriterRazred 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.PrintWriterpaket. 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 PrintWriterzapisuje 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

PrintWriterRazred določa različne metode, ki nam omogočajo tiskanje podatkov na izhod.

print () Metoda

  • print() - natisne določene podatke na zapisovalnik
  • println() - 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,

  • %dStara 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).

Zanimive Članki...