I denne vejledning lærer vi om Java FileWriter og dens metoder ved hjælp af eksempler.
Den FileWriter
klasse af java.io
pakken kan bruges til at skrive data (i tegn) til filer.
Det udvider OutputStreamWriter
klassen.
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.FileWriter
pakken. 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 Charset
klassen til at specificere tegnkodningen for filskribenten.
Metoder til FileWriter
Den FileWriter
klasse giver implementeringer for forskellige metoder præsentere i Writer
klasse.
skriv () metode
write()
- skriver en enkelt karakter til forfatterenwrite(char() array)
- skriver tegnene fra det angivne array til forfatterenwrite(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).