Java PrintWriter (s príkladmi)

V tomto výučbe sa pomocou príkladov dozvieme o prostredí Java PrintWriter a jeho metódach print () a printf ().

PrintWriterTrieda java.ioobalu možno použiť na zápis výstupných dát v bežne čitateľnej forme (text).

Rozširuje abstraktnú triedu Writer.

Práca s PrintWriter

Na rozdiel od iných autorov, PrintWriterprevedie primitívne údaje ( int, float, char, atď.) Do textového formátu. Potom tieto formátované údaje zapíše do zapisovača.

Tiež PrintWritertrieda nevyhodí žiadny vstupný / výstupný výnimku. Namiesto toho musíme použiť checkError()metódu na nájdenie akejkoľvek chyby v ňom.

Poznámka : PrintWriterTrieda má tiež funkciu automatického splachovania. To znamená, že núti zapisovateľa, aby zapísal všetky údaje do cieľa, ak sa volá jedna z metód println()alebo printf().

Vytvorte PrintWriter

Aby sme mohli vytvoriť zapisovač, musíme najskôr importovať java.io.PrintWriterbalík. Po importovaní balíka tu môžeme vytvoriť program na písanie tlače.

1. Používanie iných autorov

 // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Tu,

  • vytvorili sme zapisovač tlače, ktorý bude zapisovať údaje do súboru predstavovaného FileWriter
  • autoFlush je voliteľný parameter, ktorý určuje, či sa má alebo nemá vykonávať automatické vyprázdňovanie

2. Použitie ďalších výstupných tokov

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Tu,

  • vytvorili sme zapisovač tlače, ktorý bude zapisovať údaje do súboru predstavovaného FileOutputStream
  • autoFlush je voliteľný parameter, ktorý určuje, či sa má alebo nemá vykonávať automatické vyprázdňovanie

3. Používanie názvu súboru

 // Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush); 

Tu,

  • vytvorili sme zapisovač tlače, ktorý bude zapisovať údaje do zadaného súboru
  • autoFlush je voliteľný boolovský parameter, ktorý určuje, či sa má vykonať automatické vyprázdnenie alebo či

Poznámka : Vo všetkých vyššie uvedených prípadoch PrintWriterzapisuje údaje do súboru pomocou niektorého predvoleného kódovania znakov. Môžeme však určiť aj kódovanie znakov ( UTF8 alebo UTF16 ).

 // Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); 

Tu sme použili triedu Charset na určenie kódovania znakov. Ak sa chcete dozvedieť viac, navštívte Java Charset (oficiálna dokumentácia Java).

Metódy PrintWriter

PrintWriterTrieda ponúka celý rad možností, ktoré nám umožňujú tlačiť dáta na výstup.

metóda print ()

  • print() - vytlačí zadané údaje do zapisovača
  • println() - vytlačí údaje do zapisovača spolu s novým znakom riadku na konci

Napríklad,

 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(); ) ) ) 

Vo vyššie uvedenom príklade sme vytvorili tlačiareň s názvom output. Tento zapisovač tlače je prepojený so súborom output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Na tlač údajov do súboru sme použili print()metódu.

Tu, keď spustíme program, je súbor output.txt naplnený nasledujúcim obsahom.

 This is a text inside the file. 

metóda printf ()

Túto printf()metódu je možné použiť na tlač formátovaného reťazca. Zahŕňa 2 parametre: formátovaný reťazec a argumenty. Napríklad,

 printf("I am %d years old", 25); 

Tu,

  • Mám %droky je naformátovaný reťazec
  • %d sú celočíselné údaje vo formátovanom reťazci
  • 25 je argument

Formátovaný reťazec obsahuje text aj údaje. Argumenty nahradia údaje vo vnútri naformátovaného reťazca.

Z tohto dôvodu je % d nahradené číslom 25 .

Príklad: metóda printf () pomocou 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(); ) ) ) 

Vo vyššie uvedenom príklade sme vytvorili tlačiareň s názvom output. Zapisovač tlače je prepojený so súborom output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Na vytlačenie formátovaného textu do súboru sme použili printf()metódu.

Tu, keď spustíme program, je súbor output.txt naplnený nasledujúcim obsahom.

 I am 25 years old. 

Ďalšie metódy PrintWriter

Metóda Popis
close() zatvára spisovateľa tlače
checkError() skontroluje, či nie je chyba v zapisovacom mechanizme, a vráti boolovský výsledok
append() pripojí zadané údaje k zapisovačovi

Ak sa chcete dozvedieť viac, navštívte Java PrintWriter (oficiálna dokumentácia Java).

Zaujímavé články...