Tässä opetusohjelmassa opitaan Java FileWriteristä ja sen menetelmistä esimerkkien avulla.
FileWriter
Luokan java.io
paketti voidaan käyttää kirjoittamaan tiedot (merkkiä) tiedostoihin.
Se laajentaa OutputStreamWriter
luokkaa.
Ennen kuin saat lisätietoja FileWriter
, muista tietää Java-tiedosto.
Luo FileWriter
Jotta voimme luoda tiedostojen kirjoittajan, meidän on Java.io.FileWriter
ensin tuotava paketti. Kun tuot paketin, voimme luoda tiedostokirjoittajan tällä tavalla.
1. Käyttämällä tiedoston nimeä
FileWriter output = new FileWriter(String name);
Tässä olemme luoneet tiedostojen kirjoittajan, joka linkitetään nimen määrittämään tiedostoon.
2. Tiedoston objektin käyttäminen
FileWriter input = new FileWriter(File fileObj);
Tässä olemme luoneet tiedostojen kirjoittajan, joka linkitetään tiedoston objektin määrittelemään tiedostoon.
Yllä olevassa esimerkissä tiedot tallennetaan käyttämällä jotakin oletusmerkkikoodausta.
Java 11: n jälkeen voimme kuitenkin määrittää myös merkkikoodauksen tyypin ( UTF8 tai UTF16 ).
FileWriter input = new FileWriter(String file, Charset cs);
Tässä olemme käyttäneet Charset
luokkaa tiedostokirjoittajan merkkikoodauksen määrittämiseen.
FileWriter-menetelmät
FileWriter
Luokka antaa toteutuksia eri menetelmiä esittää, että Writer
luokan.
write () -menetelmä
write()
- kirjoittaa yhden hahmon kirjailijallewrite(char() array)
- kirjoittaa merkit määritetystä taulukosta kirjoittajallewrite(String data)
- kirjoittaa määritetyn merkkijonon kirjoittajalle
Esimerkki: FileWriter kirjoittaa tietoja tiedostoon
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(); ) ) )
Yllä olevassa esimerkissä olemme luoneet tiedostokirjoittajan nimeltä output. Lähdönlukija on linkitetty output.txt- tiedostoon.
FileWriter output = new FileWriter("output.txt");
Tietojen kirjoittamiseen tiedostoon olemme käyttäneet write()
menetelmää.
Tässä kun suoritamme ohjelmaa, output.txt- tiedosto on täytetty seuraavalla sisällöllä.
This is a line of text inside the file.
getEncoding () -menetelmä
getEncoding()
Menetelmää voidaan käyttää saamaan tyypin koodaus, jota käytetään datan kirjoittamista. Esimerkiksi,
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(); ) ) )
Tuotos
Lähdön1: Cp1252 merkkikoodaus: lähdön2: UTF8 merkkikoodaus
Yllä olevassa esimerkissä olemme luoneet 2 tiedostojen kirjoitinta nimeltään output1 ja output2.
- output1 ei määritä merkkikoodausta. Siksi
getEncoding()
menetelmä palauttaa oletusmerkkikoodauksen. - output2 määrittää merkkikoodauksen UTF8 . Siksi
getEncoding()
menetelmä palauttaa määritetyn merkkikoodauksen.
Huomaa : Olemme käyttäneet Charset.forName()
menetelmää merkkien koodauksen tyypin määrittämiseen. Lisätietoja on Java Charset -sivustossa (virallinen Java-dokumentaatio).
sulje () Menetelmä
Voit sulkea tiedostojen kirjoittajan käyttämällä close()
menetelmää. Kun close()
menetelmä on kutsuttu, emme voi käyttää kirjoitinta tietojen kirjoittamiseen.
Muut FileWriter-menetelmät
Menetelmä | Kuvaus |
---|---|
flush() | pakottaa kirjoittamaan kaikki kirjoittimessa olevat tiedot vastaavaan kohteeseen |
append() | lisää määritetyn merkin nykyiselle kirjoittajalle |
Lisätietoja on Java FileWriterissä (virallinen Java-dokumentaatio).