Java OutputStreamWriter (mit Beispielen)

In diesem Tutorial lernen wir anhand von Beispielen Java OutputStreamWriter und seine Methoden kennen.

Die OutputStreamWriterKlasse des java.ioPakets kann verwendet werden, um Daten in Zeichenform in Daten in Byteform umzuwandeln.

Es erweitert die abstrakte Klasse Writer.

Die OutputStreamWriterKlasse arbeitet mit anderen Ausgabestreams. Es ist auch als Brücke zwischen Byte-Streams und Zeichen-Streams bekannt. Dies liegt daran, dass der OutputStreamWriterseine Zeichen in Bytes konvertiert.

Beispielsweise erfordern einige Zeichen, dass 2 Bytes im Speicher gespeichert werden. Um solche Daten zu schreiben, können wir den Ausgabestream-Writer verwenden, der das Zeichen in entsprechende Bytes konvertiert und die Bytes zusammen speichert.

Erstellen Sie einen OutputStreamWriter

Um ein zu erstellen OutputStreamWriter, müssen wir java.io.OutputStreamWriterzuerst das Paket importieren . Sobald wir das Paket hier importiert haben, können wir den Ausgabestream-Writer erstellen.

 // Creates an OutputStream FileOutputStream file = new FileOutputStream(String path); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); 

Im obigen Beispiel haben wir eine OutputStreamWriterbenannte Ausgabe zusammen mit der FileOutputStreambenannten Datei erstellt.

Hier verwenden wir die Standardzeichencodierung, um Zeichen in den Ausgabestream zu schreiben.

Wir können jedoch die Art der Zeichenkodierung ( UTF8 oder UTF16 ) angeben, die zum Schreiben von Daten verwendet werden soll.

 // Creates an OutputStreamWriter specifying the character encoding OutputStreamWriter output = new OutputStreamWriter(file, Charset cs); 

Hier haben wir die CharsetKlasse verwendet, um den Typ der Zeichenkodierung anzugeben.

Methoden von OutputStreamWriter

Die OutputStreamWriterKlasse bietet Implementierungen für verschiedene in der WriterKlasse vorhandene Methoden .

write () Methode

  • write() - schreibt ein einzelnes Zeichen an den Verfasser
  • write(char() array) - schreibt die Zeichen aus dem angegebenen Array in den Writer
  • write(String data) - schreibt die angegebene Zeichenfolge in den Writer

Beispiel: OutputStreamWriter zum Schreiben von Daten in eine Datei

 import java.io.FileOutputStream; import java.io.OutputStreamWriter; public class Main ( public static void main(String args()) ( String data = "This is a line of text inside the file."; try ( // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); // Writes string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Im obigen Beispiel haben wir einen Ausgabestream-Reader mit dem Dateiausgabestream erstellt. Der Ausgabestream-Reader ist mit der Datei output.txt verknüpft .

 FileOutputStream file = new FileOutputStream("output.txt"); OutputStreamWriter output = new OutputStreamWriter(file); 

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 den Codierungstyp abzurufen, der zum Schreiben von Daten in den Ausgabestream verwendet wird. Beispielsweise,

 import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.io.FileOutputStream; class Main ( public static void main(String() args) ( try ( // Creates an output stream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an output stream reader with default encoding OutputStreamWriter output1 = new OutputStreamWriter(file); // Creates an output stream reader specifying the encoding OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the output stream 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 Ausgabestream-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 Ausgabestream-Writer 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 OutputStreamWriter

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 OutputStreamWriter (offizielle Java-Dokumentation).

Interessante Beiträge...