Java PrintWriter (s příklady)

V tomto výukovém programu se na příkladech seznámíme s Java PrintWriter a jeho metodami print () a printf ().

PrintWriterTřída java.ioobalu lze použít k zápisu výstupních dat v běžně čitelné formě (text).

Rozšiřuje abstraktní třídu Writer.

Práce s PrintWriter

Na rozdíl od jiných autorů, PrintWriterpřevede primitivní údaje ( int, float, char, atd.) Do textového formátu. Potom zapíše tato formátovaná data do zapisovače.

Také PrintWritertřída nevyhodí žádný vstupní / výstupní výjimku. Místo toho musíme použít checkError()metodu k vyhledání jakékoli chyby.

Poznámka : PrintWriterTřída má také funkci automatického proplachování. To znamená, že nutí zapisovatel zapsat všechna data do cíle, pokud je volána jedna z metod println()nebo printf().

Vytvořte PrintWriter

Abychom mohli vytvořit zapisovač tisku, musíme java.io.PrintWriternejprve importovat balíček. Jakmile naimportujeme balíček, můžeme vytvořit zapisovač tisku.

1. Použití jiných spisovatelů

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

Tady,

  • vytvořili jsme zapisovač tisku, který bude zapisovat data do souboru představovaného FileWriter
  • autoFlush je volitelný parametr, který určuje, zda se má provádět automatické proplachování

2. Použití dalších výstupních proudů

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

Tady,

  • vytvořili jsme zapisovač tisku, který bude zapisovat data do souboru představovaného FileOutputStream
  • autoFlush je volitelný parametr, který určuje, zda se má provádět automatické proplachování

3. Použití názvu souboru

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

Tady,

  • vytvořili jsme zapisovač tisku, který bude zapisovat data do zadaného souboru
  • autoFlush je volitelný logický parametr, který určuje, zda se má provádět automatické proplachování nebo nor

Poznámka : Ve všech výše uvedených případech PrintWriterzapisuje data do souboru pomocí některého výchozího kódování znaků. Můžeme však také určit kódování znaků ( UTF8 nebo UTF16 ).

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

Zde jsme použili třídu Charset k určení kódování znaků. Chcete-li se dozvědět více, navštivte Java Charset (oficiální dokumentace Java).

Metody PrintWriter

PrintWriterTřída nabízí celou řadu možností, které nám umožňují tisknout data na výstup.

metoda print ()

  • print() - vytiskne zadaná data do zapisovače
  • println() - vytiskne data do zapisovače spolu s novým znakem řádku na konci

Napří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(); ) ) ) 

Ve výše uvedeném příkladu jsme vytvořili tiskový zapisovač s názvem výstup. Tento zapisovač tisku je propojen se souborem output.txt .

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

K tisku dat do souboru jsme použili print()metodu.

Tady, když spustíme program, je soubor output.txt naplněn následujícím obsahem.

 This is a text inside the file. 

metoda printf ()

printf()Metoda může být použita pro tisk formátovaný řetězec. Zahrnuje 2 parametry: formátovaný řetězec a argumenty. Například,

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

Tady,

  • I am %dlet old is a formatted string
  • %d jsou celočíselná data ve formátovaném řetězci
  • 25 je argument

Formátovaný řetězec obsahuje text i data. Argumenty nahradí data uvnitř formátovaného řetězce.

Proto je % d nahrazeno 25 .

Příklad: metoda printf () pomocí 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(); ) ) ) 

Ve výše uvedeném příkladu jsme vytvořili tiskový zapisovač s názvem výstup. Zapisovač tisku je propojen se souborem output.txt .

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

K tisku formátovaného textu do souboru jsme použili printf()metodu.

Tady, když spustíme program, je soubor output.txt naplněn následujícím obsahem.

 I am 25 years old. 

Další metody PrintWriter

Metoda Popis
close() zavře spisovatele tisku
checkError() zkontroluje, zda je ve vypalovačce chyba, a vrátí logický výsledek
append() připojí zadaná data do zapisovače

Další informace najdete v Java PrintWriter (oficiální dokumentace Java).

Zajímavé články...