I denna handledning lär vi oss om Java FileWriter och dess metoder med hjälp av exempel.
Paketets FileWriter
klass java.io
kan användas för att skriva data (i tecken) till filer.
Det utökar OutputStreamWriter
klassen.
Innan du lär dig mer om FileWriter
, se till att du känner till Java File.
Skapa en FileWriter
För att skapa en filförfattare måste vi först importera Java.io.FileWriter
paketet. När vi väl har importerat paketet, här kan vi skapa filförfattaren.
1. Använd filnamnet
FileWriter output = new FileWriter(String name);
Här har vi skapat en filförfattare som kommer att länkas till den fil som anges av namnet.
2. Använda ett objekt i filen
FileWriter input = new FileWriter(File fileObj);
Här har vi skapat en filförfattare som kommer att länkas till filen som specificeras av filens objekt.
I exemplet ovan lagras data med hjälp av någon standardteckenkodning.
Men eftersom Java 11 kan vi också ange vilken typ av teckenkodning ( UTF8 eller UTF16 ).
FileWriter input = new FileWriter(String file, Charset cs);
Här har vi använt Charset
klassen för att specificera teckenkodningen för filförfattaren.
Metoder för FileWriter
Den FileWriter
klass erbjuder implementeringar för olika metoder att presentera i Writer
klassen.
skriv () Metod
write()
- skriver en enda karaktär till författarenwrite(char() array)
- skriver karaktärerna från den angivna matrisen till författarenwrite(String data)
- skriver den angivna strängen till författaren
Exempel: FileWriter för att skriva data till en fil
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(); ) ) )
I ovanstående exempel har vi skapat en filförfattare som heter output. Utgångsläsaren är länkad till filen output.txt .
FileWriter output = new FileWriter("output.txt");
För att skriva data till filen har vi använt write()
metoden.
Här när vi kör programmet fylls output.txt- filen med följande innehåll.
This is a line of text inside the file.
getEncoding () Metod
Den getEncoding()
metod kan användas för att få den typ av kodning som används för att skriva data. Till exempel,
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(); ) ) )
Produktion
Teckenkodningen för output1: Cp1252 Teckenkodningen för output2: UTF8
I exemplet ovan har vi skapat 2 filskribenter med namnet output1 och output2.
- output1 anger inte teckenkodningen. Därför
getEncoding()
returnerar metoden standardteckenkodningen. - output2 anger teckenkodningen, UTF8 . Därför
getEncoding()
returnerar metoden den angivna teckenkodningen.
Obs! Vi har använt Charset.forName()
metoden för att specificera typen av teckenkodning. För mer information, besök Java Charset (officiell Java-dokumentation).
close () Metod
För att stänga filförfattaren kan vi använda close()
metoden. När close()
metoden har anropats kan vi inte använda författaren för att skriva data.
Andra metoder för FileWriter
Metod | Beskrivning |
---|---|
flush() | tvingar att skriva all data som finns i författaren till motsvarande destination |
append() | infogar det angivna tecknet i den aktuella författaren |
För att lära dig mer, besök Java FileWriter (officiell Java-dokumentation).