V tomto tutoriále sa pomocou príkladov dozvieme o Java FileWriter a jeho metódach.
FileWriter
Trieda java.io
obalu môže byť použitý na dáta zapisovať (písmenami) na súbory.
Rozširuje OutputStreamWriter
triedu.
Skôr ako sa dozviete viac FileWriter
, nezabudnite vedieť o súbore Java File.
Vytvorte FileWriter
Aby sme mohli vytvoriť zapisovač súborov, musíme najskôr importovať Java.io.FileWriter
balík. Po importovaní balíka môžeme vytvoriť zapisovač súborov.
1. Používanie názvu súboru
FileWriter output = new FileWriter(String name);
Tu sme vytvorili zapisovač súborov, ktorý bude prepojený so súborom určeným menom.
2. Použitie objektu súboru
FileWriter input = new FileWriter(File fileObj);
Tu sme vytvorili zapisovač súborov, ktorý bude prepojený so súborom určeným objektom súboru.
Vo vyššie uvedenom príklade sa údaje ukladajú pomocou nejakého predvoleného kódovania znakov.
Od verzie Java 11 však môžeme určiť aj typ kódovania znakov ( UTF8 alebo UTF16 ).
FileWriter input = new FileWriter(String file, Charset cs);
Tu sme pomocou Charset
triedy zadali kódovanie znakov zapisovača súborov.
Metódy FileWriter
FileWriter
Trieda poskytuje implementácie pre rôzne metódy prezentovať vo Writer
triede.
metóda write ()
write()
- napíše spisovateľovi jednu postavuwrite(char() array)
- zapíše znaky zo zadaného poľa do zapisovačawrite(String data)
- zapíše zadaný reťazec do zapisovača
Príklad: FileWriter na zápis údajov do súboru
import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Vo vyššie uvedenom príklade sme vytvorili zapisovač súborov s názvom output. Výstupná čítačka je prepojená so súborom output.txt .
FileWriter output = new FileWriter("output.txt");
Na zápis údajov do súboru sme použili write()
metódu.
Tu, keď spustíme program, je súbor output.txt naplnený nasledujúcim obsahom.
This is a line of text inside the file.
metóda getEncoding ()
Túto getEncoding()
metódu je možné použiť na získanie typu kódovania, ktoré sa používa na zápis údajov. Napríklad,
import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Výkon
Kódovanie znakov výstupu1: Cp1252 Kódovanie znakov výstupu2: UTF8
Vo vyššie uvedenom príklade sme vytvorili 2 zapisovače súborov s názvom output1 a output2.
- output1 neurčuje kódovanie znakov. Preto
getEncoding()
metóda vracia predvolené kódovanie znakov. - output2 určuje kódovanie znakov, UTF8 . Preto
getEncoding()
metóda vracia zadané kódovanie znakov.
Poznámka : Túto Charset.forName()
metódu sme použili na určenie typu kódovania znakov. Ak sa chcete dozvedieť viac, navštívte Java Charset (oficiálna dokumentácia Java).
metóda close ()
Na zatvorenie zapisovača súborov môžeme použiť túto close()
metódu. Po close()
zavolaní metódy nemôžeme použiť zapisovač na zápis údajov.
Ďalšie metódy FileWriter
Metóda | Popis |
---|---|
flush() | núti zapisovať všetky dáta prítomné v zapisovači na príslušné miesto určenia |
append() | vloží zadaný znak do aktuálneho zapisovača |
Ak sa chcete dozvedieť viac, navštívte Java FileWriter (oficiálna dokumentácia Java).