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čeprintln()- 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 %djsou 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).








