Java FileWriter (med exempel)

I denna handledning lär vi oss om Java FileWriter och dess metoder med hjälp av exempel.

Paketets FileWriterklass java.iokan användas för att skriva data (i tecken) till filer.

Det utökar OutputStreamWriterklassen.

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.FileWriterpaketet. 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 Charsetklassen för att specificera teckenkodningen för filförfattaren.

Metoder för FileWriter

Den FileWriterklass erbjuder implementeringar för olika metoder att presentera i Writerklassen.

skriv () Metod

  • write() - skriver en enda karaktär till författaren
  • write(char() array) - skriver karaktärerna från den angivna matrisen till författaren
  • write(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).

Intressanta artiklar...