Java FileWriter (esimerkkien kanssa)

Tässä opetusohjelmassa opitaan Java FileWriteristä ja sen menetelmistä esimerkkien avulla.

FileWriterLuokan java.iopaketti voidaan käyttää kirjoittamaan tiedot (merkkiä) tiedostoihin.

Se laajentaa OutputStreamWriterluokkaa.

Ennen kuin saat lisätietoja FileWriter, muista tietää Java-tiedosto.

Luo FileWriter

Jotta voimme luoda tiedostojen kirjoittajan, meidän on Java.io.FileWriterensin 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 Charsetluokkaa tiedostokirjoittajan merkkikoodauksen määrittämiseen.

FileWriter-menetelmät

FileWriterLuokka antaa toteutuksia eri menetelmiä esittää, että Writerluokan.

write () -menetelmä

  • write() - kirjoittaa yhden hahmon kirjailijalle
  • write(char() array) - kirjoittaa merkit määritetystä taulukosta kirjoittajalle
  • write(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).

Mielenkiintoisia artikkeleita...