I denne opplæringen vil vi lære om Java FileWriter og metodene ved hjelp av eksempler.
Den FileWriter
klassen av java.io
pakken kan brukes til å skrive data (i tegn) til filer.
Det utvider OutputStreamWriter
klassen.
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.FileWriter
pakken. 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 Charset
klassen til å spesifisere tegnkodingen til filforfatteren.
Metoder for FileWriter
Den FileWriter
klasse gir implementeringer for forskjellige metoder for å medføre i Writer
klassen.
skriv () Metode
write()
- skriver en enkelt karakter til forfatterenwrite(char() array)
- skriver tegnene fra den spesifiserte matrisen til forfatterenwrite(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).