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.