Java FileWriter

třída Java FileWriter, java.io.FileWriter, umožňuje zapisovat znaky do souboru. V tomto ohledu Java FileWriter funguje podobně jako FileOutputStream kromě toho, že FileOutputStream je byte na základě, vzhledem k tomu, že FileWriter je znak založený. FileWriter je určen k psaní textu, jinými slovy. Jeden znak může odpovídat jednomu nebo více bajtům, v závislosti na použitém schématu kódování znaků. Třída Java FileWriter je mimochodem podtřída třídy Java Writer.

FileWriter Příklad

Zde je jednoduchý Java FileWriter příklad:

Writer fileWriter = new FileWriter("data\filewriter.txt");fileWriter.write("data 1");fileWriter.write("data 2");fileWriter.write("data 3");fileWriter.close();

Poznámka: Správné zacházení s výjimkami zde bylo vynecháno kvůli přehlednosti. Chcete-li se dozvědět více o správném zacházení s výjimkami, přejděte na zpracování výjimek Java IO.

FileWriter má také jiné konstruktory, což vám umožňuje určit soubor, do kterého chcete zapisovat různými způsoby. Podívejte se na oficiální JavaDoc pro podrobnější informace.

Přepsání vs. Připojením Souboru

Při vytváření Java FileWriter můžete rozhodnout, zda chcete přepsat existující soubor se stejným názvem, nebo pokud se chcete připojit k existující soubor. Rozhodnete se, že výběrem toho, co FileWriter Konstruktor používáte.

FileWriter konstruktoru, přičemž jen jeden parametr, název souboru, přepíše stávající soubor:

Writer fileWriter = new FileWriter("c:\data\output.txt");

FileWriter má konstruktor, který bere 2 parametry: název souboru a boolean. Boolean označuje, zda připojit nebo přepsat existující soubor. Zde jsou dva Java FileWriter příklady, které ukazují, že:

Writer fileWriter = new FileWriter("c:\data\output.txt", true); //appends to fileWriter fileWriter = new FileWriter("c:\data\output.txt", false); //overwrites file

FileWriter Kódování Znaků

FileWriter předpokládá, že chcete kódovat bajtů do souboru pomocí výchozí kódování znaků pro počítač je aplikace spuštěna. To nemusí být vždy to, co chcete, a nemůžete to změnit!

pokud chcete zadat jiné schéma kódování znaků, nepoužívejte FileWriter. Místo toho použijte OutputStreamWriter na FileOutputStream. OutputStreamWriter umožňuje zadat schéma kódování znaků, které se použije při zápisu bajtů do podkladového souboru.

write(int)

Java FileWriter write(int) metoda píše dolních 16 bitů int cíl FileWriter je připojen k, a to jako jeden znak. Zde je příklad zápisu jednoho znaku do Java FileWriter:

FileWriter fileWriter = new FileWriter("data/output.txt");fileWriter.write('A');

write(char)

Java FileWriter má také write(char) metoda, která může psát pole znaků k určení FileWriter je připojen. Metoda write(char) vrací počet znaků skutečně zapsaných do FileWriter. Zde je příklad psaní pole znaků Java FileWriter:

FileWriter fileWriter = new FileWriter("data/output.txt");char chars = new char{'A','B','C','D','E'};fileWriter.write(chars);

Napište Výkonu

To je rychlejší psát pole znaků Java FileWriter než psát jeden znak najednou. Zrychlení může být docela významné-až 10 x vyšší nebo více. Proto se doporučuje používat metody write(char), kdykoli je to možné.

přesné zrychlení, které získáte, závisí na základním operačním systému a hardwaru počítače, na kterém spouštíte kód Java. Zrychlení závisí na problémech, jako je rychlost paměti, rychlost pevného disku a velikosti vyrovnávací paměti atd.

Transparentní ukládání do Vyrovnávací paměti prostřednictvím BufferedWriter

můžete získat transparentní ukládání do vyrovnávací paměti bajtů zapsaných do Java FileWriter obtékání v Java BufferedWriter . Všechny bajty zapsané do BufferedWriter se nejprve uloží do vyrovnávací paměti uvnitř interního pole bajtů v BufferedWriter. Když je vyrovnávací paměť plná, vyrovnávací paměť se propláchne na podkladovou hodnotu FileWriter najednou. Zde je příklad zabalení Java FileWriter do a BufferedWriter:

int bufferSize = 8 * 1024;Writer writer = new BufferedWriter( new FileWriter("c:\data\output-file.txt"), bufferSize );

více o BufferedWriter si můžete přečíst v mém tutoriálu BufferedWriter.

flush ()

metoda Java FileWriter ‚s flush() propláchne všechna data zapsaná do FileWriter do podkladového souboru. Data mohou být někde uložena do paměti OS, i když je váš kód Java zapsal do FileWriter. Voláním flush() se můžete ujistit, že všechna uložená data budou propláchnuta (zapsána) na disk. Zde je příklad splachování data zapsána do Java FileWriter tím, že volá jeho flush() metoda:

fileWriter.flush();

Uzavření FileWriter

Když jste hotovi psaní znaků Java FileWriter pamatujte, zavřete jej. Uzavření FileWriter se provádí voláním metody close(). Zde je, jak uzavření Java FileWriter vypadá:

fileWriter.close();

můžete také použít try-with-resources construct představil v Java 7. Zde je návod, jak použít a zavřít vzhled FileWriter pomocí konstrukce try-with-resources:

try(FileWriter fileWriter = new FileWriter("data\filewriter.txt") ){ fileWriter.write("data 1"); fileWriter.write("data 2"); fileWriter.write("data 3");}

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.