English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial lernen wir anhand von Beispielen Java OutputStreamWriter und seine Methoden kennen.
Die Klasse OutputStreamWriter aus dem Paket java.io kann verwendet werden, um Daten in Form von Zeichen in Form von Bytes zu konvertieren.
Es hat die abstrakte Klasse Writer geerbt.
Die Klasse OutputStreamWriter kann mit anderen Ausgabestromen verwendet werden. Sie wird auch als Brücke zwischen Byte- und Zeichenstromen bezeichnet. Dies liegt daran, dass OutputStreamWriter ihre Zeichen in Bytes konvertiert.
Zum Beispiel benötigen einige Zeichen2Ein Byte wird im Speicher gespeichert. Um solche Daten zu schreiben, können wir den Ausgabestromschreiber verwenden, der Zeichen in die entsprechenden Bytes konvertiert und die Bytes zusammen speichert.
Um OutputStreamWriter zu erstellen, müssen wir zunächst das Paket java.io.OutputStreamWriter importieren. Nach dem Importieren des Pakets können wir hier den Ausgabestromschreiber erstellen.
//Erstellen Sie einen OutputStream FileOutputStream file = new FileOutputStream(String path); //Erstellen Sie einen OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file);
In den obigen Beispielen haben wir einen namens output OutputStreamWriter und einen namens FileOutputStream Datei erstellt.
Hier schreiben wir Zeichen mit der Standardzeichencodierung in den Ausgabestrom.
Aber wir können den Zeichencodierungstyp angeben, der für die Daten verwendet wird, die geschrieben werden sollen (UTF8oderUTF16)
//Erstellen Sie einen OutputStreamWriter und spezifizieren Sie die Zeichencodierung OutputStreamWriter output = new OutputStreamWriter(file, Charset cs);
Hier verwenden wir die Klasse Charset, um den Typ der Zeichencodierung zu spezifizieren.
Die Klasse OutputStreamWriter bietet verschiedene Methoden zur Implementierung der Klasse Writer an.
write() -Schreiben Sie ein Zeichen in den Schreiber
write(char[] array) - Schreiben Sie die Zeichen aus dem angegebenen Array in den Schreiber
write(String data) - Schreiben Sie die angegebene Zeichenkette in den Schreiber
import java.io.FileOutputStream; import java.io.OutputStreamWriter; public class Main {}} public static void main(String args[]) { String data = "Dies ist ein Textzeile im Datei."; try { // Erstellen Sie FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); //Erstellen Sie einen OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); //Schreiben Sie einen String in die Datei output.write(data); //Schließen Sie den Writer output.close(); } catch (Exception e) { e.getStackTrace(); } } }
Im obigen Beispiel haben wir einen Ausgabestromleser mit Dateiausgabestrom erstellt. Der Ausgabestromleser ist mitoutput.txtDateiverknüpfung.
FileOutputStream file = new FileOutputStream("output.txt"); OutputStreamWriter output = new OutputStreamWriter(file);
Um Daten in die Datei zu schreiben, verwenden wir die write()-Methode.
Hier, wenn wir das Programm ausführen,output.txtDie Datei wird mit folgendem Inhalt gefüllt.
Dies ist ein Textzeile im Datei.
Die Methode getEncoding() kann verwendet werden, um den Zeichensatz zu erhalten, der für die Daten in den Ausgabestrom geschrieben wird. Zum Beispiel,
import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.io.FileOutputStream; class Main { public static void main(String[] args) { try { // Erstellen Sie einen Ausgabestrom FileOutputStream file = new FileOutputStream("output.txt"); // Erstellen Sie einen Ausgabestromleser mit Standardkodierung OutputStreamWriter output1 = new OutputStreamWriter(file); // Erstellen Sie einen Ausgabestromleser mit angegebener Kodierung OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8")); // Geben Sie die Zeichenkodierung der Ausgabestrom System.out.println("output1Der Zeichensatz der Zeichenkodierung: " + output1.getEncoding()); System.out.println("output2Der Zeichensatz der Zeichenkodierung: " + output2.getEncoding()); // Schließen Sie den Reader output1.close(); output2.close(); } catch(Exception e) { e.getStackTrace(); } } }
Ausgaberesultat
output1Zeichencodierung: Cp1252 output2Zeichencodierung: UTF8
Im obigen Beispiel haben wir2Output-Stream-Schreibwerkzeuge, die nach output1und output2.
output1Es wurde keine Zeichencodierung angegeben. Daher gibt die Methode getEncoding() die Standardzeichencodierung zurück.
output2Zeichencodierung angebenUTF8. Daher gibt die Methode getEncoding() die angegebene Zeichencodierung zurück.
Beachtung: Wir haben die Art der Zeichencodierung mit der Methode Charset.forName() angegeben.
Um den Ausgabestream-Schreibwerkzeug zu schließen, können wir die close()-Methode verwenden. Sobald die close()-Methode aufgerufen wurde, kann keine Daten mit writer geschrieben werden.
Methode | Beschreibung |
---|---|
flush() | Zwanghaft alle vorhandenen Daten in das entsprechende Ziel schreiben |
append() | Den angegebenen Zeichencode in den aktuellen Schreibwerkzeug einfügen |