Selles õpetuses õpime näidete abil Java FileWriterit ja selle meetodeid.
FileWriter
Klassi java.io
pakett saab kasutada kirjutada andmeid (märki), et failid.
See pikendab OutputStreamWriter
klassi.
Enne lisateavet leiate FileWriter
kindlasti Java-faili kohta.
Looge FileWriter
Failikirjutaja loomiseks peame Java.io.FileWriter
esmalt paketi importima . Kui pakett on imporditud, saate failikirjutaja luua järgmiselt.
1. Kasutades faili nime
FileWriter output = new FileWriter(String name);
Siin oleme loonud failikirjutaja, mis lingitakse nimega määratud failiga.
2. Faili objekti kasutamine
FileWriter input = new FileWriter(File fileObj);
Siin oleme loonud failikirjutaja, mis on seotud faili objektiga määratud failiga.
Ülaltoodud näites salvestatakse andmed mõne vaikimisi märgikodeeringu abil.
Kuid Java 11-st alates saame määrata ka märkide kodeerimise tüübi ( UTF8 või UTF16 ).
FileWriter input = new FileWriter(String file, Charset cs);
Siin oleme Charset
klassi abil määranud failikirjutaja märgikodeeringu.
FileWriteri meetodid
FileWriter
Tasemega näeb implementation erinevaid meetodeid sisalduse funktsioon Writer
tasemega.
kirjuta () meetod
write()
- kirjutab kirjanikule ühe tegelasewrite(char() array)
- kirjutab tähemärgid määratud massiivist kirjutajalewrite(String data)
- kirjutab määratud stringi kirjutajale
Näide: FileWriter andmete faili kirjutamiseks
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(); ) ) )
Ülaltoodud näites oleme loonud failikirjutaja nimega väljund. Väljundlugeja on lingitud failiga output.txt .
FileWriter output = new FileWriter("output.txt");
Andmete faili kirjutamiseks oleme kasutanud write()
meetodit.
Siin on programmi käivitamisel fail output.txt täidetud järgmise sisuga.
This is a line of text inside the file.
getEncoding () meetod
getEncoding()
Meetodit saab kasutada, et saada kodeerimistüüp, mida kasutatakse kirjutada andmeid. Näiteks,
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äljund
Väljundi1: Cp1252 märkekodeering: väljundi2: UTF8 tähemärgikodeering
Ülaltoodud näites oleme loonud 2 failikirjutajat nimega output1 ja output2.
- väljund1 ei määra märkide kodeerimist. Seega
getEncoding()
tagastab meetod vaikimisi märgikodeeringu. - väljund2 määrab märkide kodeerimise UTF8 . Seega
getEncoding()
tagastab meetod määratud märgikodeeringu.
Märkus . Me kasutasime Charset.forName()
meetodit märkide kodeerimise tüübi määramiseks. Lisateabe saamiseks külastage Java Charset (ametlik Java dokumentatsioon).
close () meetod
Failikirjutaja sulgemiseks saame kasutada close()
meetodit. Kui close()
meetod on välja kutsutud, ei saa me andmete kirjutamiseks kirjutajat kasutada.
Muud FileWriteri meetodid
Meetod | Kirjeldus |
---|---|
flush() | sunnib kirjutama kõik kirjutaja juures olevad andmed vastavasse sihtkohta |
append() | lisab määratud märgi praegusele kirjutajale |
Lisateabe saamiseks külastage Java FileWriterit (ametlik Java dokumentatsioon).