In diesem Tutorial lernen wir anhand von Beispielen Java FileWriter und seine Methoden kennen.
Die FileWriter
Klasse des java.io
Pakets kann verwendet werden, um Daten (in Zeichen) in Dateien zu schreiben.
Es erweitert die OutputStreamWriter
Klasse.
Bevor Sie mehr darüber FileWriter
erfahren, sollten Sie sich mit Java File vertraut machen.
Erstellen Sie einen FileWriter
Um einen Dateischreiber zu erstellen, müssen wir Java.io.FileWriter
zuerst das Paket importieren . Sobald wir das Paket importiert haben, können wir den Dateischreiber wie folgt erstellen.
1. Verwenden Sie den Namen der Datei
FileWriter output = new FileWriter(String name);
Hier haben wir einen Dateischreiber erstellt, der mit der durch den Namen angegebenen Datei verknüpft wird.
2. Verwenden eines Objekts der Datei
FileWriter input = new FileWriter(File fileObj);
Hier haben wir einen Dateischreiber erstellt, der mit der durch das Objekt der Datei angegebenen Datei verknüpft wird.
Im obigen Beispiel werden die Daten unter Verwendung einer Standardzeichenkodierung gespeichert.
Seit Java 11 können wir jedoch auch die Art der Zeichenkodierung ( UTF8 oder UTF16 ) angeben .
FileWriter input = new FileWriter(String file, Charset cs);
Hier haben wir die Charset
Klasse verwendet, um die Zeichencodierung des Dateischreibers anzugeben.
Methoden von FileWriter
Die FileWriter
Klasse bietet Implementierungen für verschiedene in der Writer
Klasse vorhandene Methoden .
write () Methode
write()
- schreibt ein einzelnes Zeichen an den Verfasserwrite(char() array)
- schreibt die Zeichen aus dem angegebenen Array in den Writerwrite(String data)
- schreibt die angegebene Zeichenfolge in den Writer
Beispiel: FileWriter zum Schreiben von Daten in eine Datei
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(); ) ) )
Im obigen Beispiel haben wir einen Dateischreiber mit dem Namen output erstellt. Der Ausgabeleser ist mit der Datei output.txt verknüpft .
FileWriter output = new FileWriter("output.txt");
Um Daten in die Datei zu schreiben, haben wir die write()
Methode verwendet.
Wenn wir das Programm ausführen , wird die Datei output.txt mit dem folgenden Inhalt gefüllt.
This is a line of text inside the file.
getEncoding () -Methode
Die getEncoding()
Methode kann verwendet werden, um die Art der Codierung abzurufen, die zum Schreiben von Daten verwendet wird. Beispielsweise,
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(); ) ) )
Ausgabe
Die Zeichenkodierung von output1: Cp1252 Die Zeichenkodierung von output2: UTF8
Im obigen Beispiel haben wir zwei Datei-Writer mit den Namen output1 und output2 erstellt.
- output1 gibt die Zeichenkodierung nicht an. Daher gibt die
getEncoding()
Methode die Standardzeichenkodierung zurück. - output2 gibt die Zeichenkodierung UTF8 an . Daher gibt die
getEncoding()
Methode die angegebene Zeichenkodierung zurück.
Hinweis : Wir haben die Charset.forName()
Methode verwendet, um den Typ der Zeichenkodierung anzugeben. Weitere Informationen finden Sie unter Java Charset (offizielle Java-Dokumentation).
close () Methode
Um den Dateischreiber zu schließen, können wir die close()
Methode verwenden. Sobald die close()
Methode aufgerufen wurde, können wir den Writer nicht mehr zum Schreiben der Daten verwenden.
Andere Methoden von FileWriter
Methode | Beschreibung |
---|---|
flush() | Erzwingt das Schreiben aller im Writer vorhandenen Daten an das entsprechende Ziel |
append() | Fügt das angegebene Zeichen in den aktuellen Writer ein |
Weitere Informationen finden Sie unter Java FileWriter (offizielle Java-Dokumentation).