Java FileWriter (példákkal)

Ebben az oktatóanyagban példák segítségével megismerhetjük a Java FileWritert és annak módszereit.

A csomag FileWriterosztálya java.iofelhasználható adatok (karakterben) fájlokba történő írására.

Ez kiterjeszti az OutputStreamWriterosztályt.

Mielőtt többet megtudna róla FileWriter, győződjön meg arról, hogy tud a Java fájlról.

Hozzon létre egy FileWritert

Fájlíró létrehozásához Java.io.FileWriterelőször importálnunk kell a csomagot. A csomag importálása után a következőképpen hozhatjuk létre a fájlírót.

1. A fájl nevének használata

 FileWriter output = new FileWriter(String name); 

Itt hoztunk létre egy fájlírót, amely a név által megadott fájlhoz fog kapcsolódni.

2. A fájl objektumának használata

 FileWriter input = new FileWriter(File fileObj); 

Itt létrehoztunk egy fájlírót, amely a fájl objektuma által megadott fájlhoz lesz kapcsolva.

A fenti példában az adatokat valamilyen alapértelmezett karakterkódolással tároljuk.

A Java 11 óta azonban megadhatjuk a karakterkódolás típusát is ( UTF8 vagy UTF16 ).

 FileWriter input = new FileWriter(String file, Charset cs); 

Itt az Charsetosztályt használtuk a fájlíró karakterkódolásának megadására.

A FileWriter módszerei

Az FileWriterosztály megvalósításokat biztosít az Writerosztályban jelen lévő különböző módszerek számára .

write () módszer

  • write() - egyetlen karaktert ír az írónak
  • write(char() array) - írja a karaktereket a megadott tömbből az írónak
  • write(String data) - írja a megadott karakterláncot az írónak

Példa: FileWriter adatok fájlba írásához

 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(); ) ) ) 

A fenti példában létrehoztunk egy kimenet nevű fájlírót. A kimeneti olvasó össze van kapcsolva az output.txt fájllal.

 FileWriter output = new FileWriter("output.txt"); 

Adatok írására a fájlba a write()módszert használtuk .

Itt, amikor futtatjuk a programot, az output.txt fájl a következő tartalommal töltődik fel.

 This is a line of text inside the file. 

getEncoding () metódus

A getEncoding()módszer felhasználható az adatok írására használt kódolás típusának megszerzésére. Például,

 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(); ) ) ) 

Kimenet

 Az output1 karakterkódolása: Cp1252 A output2 karakterkódolása: UTF8 

A fenti példában létrehoztunk 2 output1 és output2 fájlírót.

  • Az output1 nem adja meg a karakterkódolást. Ezért a getEncoding()metódus az alapértelmezett karakterkódolást adja vissza.
  • Az output2 megadja az UTF8 karakterkódolást . Ezért a getEncoding()metódus visszaadja a megadott karakterkódolást.

Megjegyzés : A Charset.forName()karakterkódolás típusának meghatározásához a módszert használtuk . További információkért látogasson el a Java Charset (hivatalos Java dokumentáció) oldalra.

bezár () módszer

A fájlíró bezárásához használhatjuk a close()módszert. Miután close()meghívta a módszert, nem használhatjuk az írót az adatok megírásához.

A FileWriter egyéb módszerei

Módszer Leírás
flush() arra kényszeríti, hogy az íróban található összes adatot a megfelelő rendeltetési helyre írja
append() beszúrja a megadott karaktert az aktuális íróba

További információkért látogasson el a Java FileWriter oldalra (hivatalos Java dokumentáció).

érdekes cikkek...