English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java Flusskontrolle

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map Collection

Java Set-Sammel

Java Ein- und Ausgabesystem(I/)

Java Reader/Writer

Java andere Themen

Java OutputStreamWriter Klasse

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.

Erstellen Sie einen OutputStreamWriter

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.

OutputStreamWriter Methoden

Die Klasse OutputStreamWriter bietet verschiedene Methoden zur Implementierung der Klasse Writer an.

write() - Methode

  • 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

Beispiel: OutputStreamWriter schreibt Daten in eine Datei

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()

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.

close() Methode

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.

Andere Methoden von OutputStreamWriter

MethodeBeschreibung
flush()Zwanghaft alle vorhandenen Daten in das entsprechende Ziel schreiben
append()Den angegebenen Zeichencode in den aktuellen Schreibwerkzeug einfügen