Java FileWriter (med eksempler)

I denne vejledning lærer vi om Java FileWriter og dens metoder ved hjælp af eksempler.

Den FileWriterklasse af java.iopakken kan bruges til at skrive data (i tegn) til filer.

Det udvider OutputStreamWriterklassen.

Før du lærer mere om FileWriter, skal du sørge for at vide om Java File.

Opret en FileWriter

For at oprette en filforfatter skal vi først importere Java.io.FileWriterpakken. Når vi først har importeret pakken, kan du oprette filforfatteren her.

1. Brug af filnavnet

 FileWriter output = new FileWriter(String name); 

Her har vi oprettet en filforfatter, der linkes til den fil, der er angivet med navnet.

2. Brug af et objekt i filen

 FileWriter input = new FileWriter(File fileObj); 

Her har vi oprettet en filforfatter, der linkes til den fil, der er angivet af filens objekt.

I ovenstående eksempel opbevares dataene ved hjælp af en række standardtegnkodning.

Men da Java 11 også kan specificere typen af ​​kodning af tegn ( UTF8 eller UTF16 ).

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

Her har vi brugt Charsetklassen til at specificere tegnkodningen for filskribenten.

Metoder til FileWriter

Den FileWriterklasse giver implementeringer for forskellige metoder præsentere i Writerklasse.

skriv () metode

  • write() - skriver en enkelt karakter til forfatteren
  • write(char() array) - skriver tegnene fra det angivne array til forfatteren
  • write(String data) - skriver den angivne streng til forfatteren

Eksempel: FileWriter til at skrive data til 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 ovenstående eksempel har vi oprettet en filforfatter med navnet output. Outputtelæseren er knyttet til output.txt- filen.

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

For at skrive data til filen har vi brugt write()metoden.

Her, når vi kører programmet, udfyldes output.txt- filen med følgende indhold.

 This is a line of text inside the file. 

getEncoding () metode

Den getEncoding()Fremgangsmåden kan anvendes til at få den type koder, der bruges til skrive data. For eksempel,

 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

 Tegnkodning af output1: Cp1252 Tegnkodning af output2: UTF8 

I ovenstående eksempel har vi oprettet 2 filforfatter med navnet output1 og output2.

  • output1 angiver ikke tegnkodningen. Derfor getEncoding()returnerer metoden standardtegnkodningen.
  • output2 specificerer tegnkodning, UTF8 . Derfor getEncoding()returnerer metoden den angivne tegnkodning.

Bemærk : Vi har brugt Charset.forName()metoden til at specificere typen af ​​tegnkodning. For at lære mere, besøg Java Charset (officiel Java-dokumentation).

close () Metode

For at lukke filforfatteren kan vi bruge close()metoden. Når close()metoden er kaldt, kan vi ikke bruge forfatteren til at skrive dataene.

Andre metoder til FileWriter

Metode Beskrivelse
flush() tvinger til at skrive alle data til stede i forfatteren til den tilsvarende destination
append() indsætter det angivne tegn i den aktuelle forfatter

For at lære mere, besøg Java FileWriter (officiel Java-dokumentation).

Interessante artikler...