Java OutputStreamWriter-Klasse
Java OutputStreamWriter-Klasse
In diesem Tutorial lernen wir Java OutputStreamWriter und seine Methoden anhand von Beispielen kennen.
Der OutputStreamWriter
Klasse der java.io
Paket kann verwendet werden, um Daten in Zeichenform in Daten in Byteform umzuwandeln.
Es erweitert die abstrakte Klasse Writer
.
Die OutputStreamWriter
Klasse funktioniert mit anderen Ausgabeströmen. Es ist auch als Brücke zwischen Byteströmen und Zeichenströmen bekannt. Das liegt daran, dass OutputStreamWriter
wandelt seine Zeichen in Bytes um.
Beispielsweise erfordern einige Zeichen, dass 2 Bytes im Speicher gespeichert werden. Um solche Daten zu schreiben, können wir den Output Stream Writer verwenden, der das Zeichen in entsprechende Bytes umwandelt und die Bytes zusammen speichert.
Erstellen Sie einen OutputStreamWriter
Um einen OutputStreamWriter
zu erstellen , müssen wir den java.io.OutputStreamWriter
importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir hier den Output-Stream-Writer erstellen.
// Creates an OutputStream
FileOutputStream file = new FileOutputStream(String path);
// Creates an OutputStreamWriter
OutputStreamWriter output = new OutputStreamWriter(file);
Im obigen Beispiel haben wir einen OutputStreamWriter
erstellt benannte Ausgabe zusammen mit dem FileOutputStream
benannte Datei.
Hier verwenden wir die Standard-Zeichencodierung, um Zeichen in den Ausgabestrom zu schreiben.
Wir können jedoch die Art der Zeichenkodierung (UTF8 oder UTF16 ), um Daten zu schreiben.
// Creates an OutputStreamWriter specifying the character encoding
OutputStreamWriter output = new OutputStreamWriter(file, Charset cs);
Hier haben wir den Charset
verwendet Klasse, um die Art der Zeichencodierung anzugeben.
Methoden von OutputStreamWriter
Die OutputStreamWriter
-Klasse stellt Implementierungen für verschiedene Methoden bereit, die in Writer
vorhanden sind Klasse.
write()-Methode
write()
- schreibt ein einzelnes Zeichen an den Writerwrite(char[] array)
- schreibt die Zeichen aus dem angegebenen Array in den Writerwrite(String data)
- schreibt den angegebenen String 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 Output Stream Reader ist mit der output.txt verknüpft Datei.
FileOutputStream file = new FileOutputStream("output.txt");
OutputStreamWriter output = new OutputStreamWriter(file);
Um Daten in die Datei zu schreiben, haben wir den write()
verwendet Methode.
Hier, wenn wir das Programm ausführen, die output.txt Datei wird mit folgendem 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. Zum Beispiel
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
The character encoding of output1: Cp1252 The character encoding of output2: UTF8
Im obigen Beispiel haben wir 2 Output-Stream-Writer mit dem Namen output1 erstellt und Ausgabe2 .
- Ausgabe1 gibt die Zeichenkodierung nicht an. Daher der
getEncoding()
-Methode gibt die Standardzeichenkodierung zurück. - Ausgabe2 gibt die Zeichenkodierung UTF8 an . Daher der
getEncoding()
Methode gibt die angegebene Zeichenkodierung zurück.
Hinweis :Wir haben den Charset.forName()
verwendet Methode, um die Art der Zeichencodierung anzugeben. Um mehr zu erfahren, besuchen Sie Java Charset (offizielle Java-Dokumentation).
close()-Methode
Um den Output Stream Writer zu schließen, können wir den close()
verwenden Methode. Einmal die close()
-Methode aufgerufen wird, können wir den Writer nicht verwenden, um die Daten zu schreiben.
Andere Methoden von OutputStreamWriter
Methode | Beschreibung |
---|---|
flush() | erzwingt, alle im Writer vorhandenen Daten an das entsprechende Ziel zu schreiben |
append() | fügt das angegebene Zeichen in den aktuellen Schreiber ein |
Um mehr zu erfahren, besuchen Sie Java OutputStreamWriter (offizielle Java-Dokumentation).
Java