Ebben az oktatóanyagban példák segítségével megismerhetjük a Java FileWritert és annak módszereit.
A csomag FileWriter
osztálya java.io
felhasználható adatok (karakterben) fájlokba történő írására.
Ez kiterjeszti az OutputStreamWriter
osztá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.FileWriter
elő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 Charset
osztályt használtuk a fájlíró karakterkódolásának megadására.
A FileWriter módszerei
Az FileWriter
osztály megvalósításokat biztosít az Writer
osztályban jelen lévő különböző módszerek számára .
write () módszer
write()
- egyetlen karaktert ír az írónakwrite(char() array)
- írja a karaktereket a megadott tömbből az írónakwrite(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ó).