Java FileWriter

1. Prehľad

V tomto tutoriáli sa naučíme a porozumieme FileWriter trieda prítomná v java.io balíček.

2. FileWriter

FileWriter je ašpecializovaný OutputStreamWriter na písanie znakových súborov. Nevystavuje žiadne nové operácie, ale pracuje s operáciami zdedenými z OutputStreamWriter a Spisovateľ triedy.

Až do Javy 11 sa FileWriter pracoval s predvoleným kódovaním znakov a predvolenou veľkosťou vyrovnávacej pamäte bajtov. Avšak Java 11 predstavila štyri nové konštruktory, ktoré akceptujú a Znaková sada, čím umožňuje používateľom určené Charset. Bohužiaľ stále nemôžeme upraviť veľkosť bajtovej medzipamäte a je nastavená na 8192.

2.1. Vytvára sa inštancia FileWriter

V FileWriter triedy, ak používame verziu Java pred Java 11.

Pozrime sa na rôznych konštruktérov:

public FileWriter (String fileName) hodí IOException {super (new FileOutputStream (fileName)); } public FileWriter (String fileName, boolean append) hodí IOException {super (new FileOutputStream (fileName, append)); } public FileWriter (File file) hodí IOException {super (nový FileOutputStream (súbor)); } public FileWriter (File file, boolean append) hodí IOException {super (new FileOutputStream (file, append)); } public FileWriter (FileDescriptor fd) {super (nový FileOutputStream (fd)); }

Java 11 predstavila ďalšie štyri konštruktory:

public FileWriter (String fileName, Charset charset) throws IOException {super (new FileOutputStream (fileName), charset); } public FileWriter (String fileName, Charset charset, boolean append) hodí IOException {super (nový FileOutputStream (fileName, append), charset); } public FileWriter (File file, Charset charset) throws IOException {super (new FileOutputStream (file), charset); } public FileWriter (File file, Charset charset, boolean append) hodí IOException {super (new FileOutputStream (file, append), charset); }

2.2. Písanie a String do súboru

Poďme teraz použiť jeden z FileWriter konštruktory na vytvorenie inštancie FileWriter a potom napíš do súboru:

try (FileWriter fileWriter = new FileWriter ("src / test / resources / FileWriterTest.txt")) {fileWriter.write ("Hello Folks!"); }

Použili sme konštruktor jedného argumentu FileWriter ktorý akceptuje názov súboru. Potom použijeme zápis (reťazec str) operácia zdedená z Spisovateľ trieda. Keďže FileWriter je Automatické uzatváranie, použili sme zdroje na vyskúšanie, aby sme nemuseli uzatvárať FileWriter výslovne.

Pri vykonávaní vyššie uvedeného kódu String sa zapíše do zadaného súboru:

Ahojte ľudia!

The FileWriter nezaručuje, či bude súbor FileWriterTest.txt k dispozícii alebo bude vytvorený. Závisí to od základnej platformy.

Musíme tiež poznamenať, že určité platformy môžu povoliť iba jednu FileWriter napríklad na otvorenie súboru. V takom prípade ostatní konštruktéri FileWriter trieda zlyhá, ak je príslušný súbor už otvorený.

2.3. Pripojenie a String do súboru

Často musíme pripojiť údaje k existujúcemu obsahu súboru. Pozrime sa teraz na príklad a FileWriter ktorý podporuje pripájanie:

try (FileWriter fileWriter = new FileWriter ("src / test / resources / FileWriterTest.txt", true)) {fileWriter.write ("Hello Folks Again!"); }

Ako vidíme, použili sme dvoj argumentový konštruktor, ktorý akceptuje názov súboru a boolovský vlajka pridať. Prejdenie vlajky pridať ako pravda vytvára a FileWriter ktorý nám umožňuje pripojiť text k existujúcemu obsahu súboru.

Po vykonaní kódu budeme mať String pripojený k existujúcemu obsahu zadaného súboru:

Ahoj ľudia! Ahoj ľudia znova! 

3. Záver

V tomto článku sme sa dozvedeli o hodine pohodlia FileWriter a niekoľkými spôsobmi, ako FileWriter môžu byť vytvorené. Potom sme ho použili na zápis údajov do súboru.

Kompletný zdrojový kód tutoriálu je ako vždy k dispozícii na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found