V tomto výukovém programu se na příkladech seznámíme s Java PrintWriter a jeho metodami print () a printf ().
PrintWriter
Třída java.io
obalu 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ů, PrintWriter
převede primitivní údaje ( int
, float
, char
, atd.) Do textového formátu. Potom zapíše tato formátovaná data do zapisovače.
Také PrintWriter
tří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 : PrintWriter
Tří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.PrintWriter
nejprve 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 PrintWriter
zapisuje 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
PrintWriter
Tří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
%d
let 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).