Java FileWriter (med eksempler)

I denne opplæringen vil vi lære om Java FileWriter og metodene ved hjelp av eksempler.

Den FileWriterklassen av java.iopakken kan brukes til å skrive data (i tegn) til filer.

Det utvider OutputStreamWriterklassen.

Før du lærer mer om FileWriter, må du huske å vite om Java File.

Lag en FileWriter

For å opprette en filforfatter må vi først importere Java.io.FileWriterpakken. Når vi har importert pakken, kan du lage filforfatteren her.

1. Bruke navnet på filen

 FileWriter output = new FileWriter(String name); 

Her har vi opprettet en filforfatter som vil bli lenket til filen spesifisert av navnet.

2. Bruke et objekt av filen

 FileWriter input = new FileWriter(File fileObj); 

Her har vi opprettet en filforfatter som vil bli koblet til filen spesifisert av objektet til filen.

I eksemplet ovenfor lagres dataene ved hjelp av noen standard tegnkoding.

Siden Java 11 kan vi imidlertid også spesifisere typen tegnkoding ( UTF8 eller UTF16 ).

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

Her har vi brukt Charsetklassen til å spesifisere tegnkodingen til filforfatteren.

Metoder for FileWriter

Den FileWriterklasse gir implementeringer for forskjellige metoder for å medføre i Writerklassen.

skriv () Metode

  • write() - skriver en enkelt karakter til forfatteren
  • write(char() array) - skriver tegnene fra den spesifiserte matrisen til forfatteren
  • write(String data) - skriver den angitte strengen til forfatteren

Eksempel: FileWriter for å 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 eksemplet ovenfor har vi opprettet en filforfatter som heter output. Utgangsleseren er koblet til output.txt- filen.

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

For å skrive data til filen har vi brukt write()metoden.

Når vi kjører programmet, blir output.txt- filen fylt med følgende innhold.

 This is a line of text inside the file. 

getEncoding () Metode

Den getEncoding()metode kan brukes for å få den type koding som brukes 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(); ) ) ) 

Produksjon

 Tegnkodingen for utdata1: Cp1252 Tegnkodingen for utdata2: UTF8 

I eksemplet ovenfor har vi opprettet 2 filskribenter kalt output1 og output2.

  • output1 spesifiserer ikke tegnkodingen. Derfor getEncoding()returnerer metoden standard tegnkoding.
  • output2 spesifiserer tegnkodingen, UTF8 . Derfor getEncoding()returnerer metoden den spesifiserte tegnkodingen.

Merk : Vi har brukt Charset.forName()metoden til å spesifisere typen tegnkoding. For å lære mer, besøk Java Charset (offisiell Java-dokumentasjon).

lukk () Metode

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

Andre metoder for FileWriter

Metode Beskrivelse
flush() tvinger til å skrive alle dataene som er tilstede i forfatteren til den tilsvarende destinasjonen
append() setter inn det angitte tegnet til den nåværende skribenten

For å lære mer, besøk Java FileWriter (offisiell Java-dokumentasjon).

Interessante artikler...