Java ByteArrayOutputStream-Klasse
Java ByteArrayOutputStream-Klasse
In diesem Tutorial lernen wir Java ByteArrayOutputStream und seine Methoden anhand von Beispielen kennen.
Der ByteArrayOutputStream
Klasse der java.io
Paket kann verwendet werden, um ein Array von Ausgabedaten (in Bytes) zu schreiben.
Es erweitert den OutputStream
abstrakte Klasse.
Hinweis :In ByteArrayOutputStream
verwaltet ein internes Array von Bytes, um die Daten zu speichern.
Einen ByteArrayOutputStream erstellen
Um einen Byte-Array-Ausgabestrom zu erstellen, müssen wir den java.io.ByteArrayOutputStream
importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir wie folgt einen Ausgabestream erstellen.
// Creates a ByteArrayOutputStream with default size
ByteArrayOutputStream out = new ByteArrayOutputStream();
Hier haben wir einen Ausgabestrom erstellt, der Daten in ein Array von Bytes mit einer Standardgröße von 32 Bytes schreibt. Wir können jedoch die Standardgröße des Arrays ändern.
// Creating a ByteArrayOutputStream with specified size
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);
Hier die Größe gibt die Länge des Arrays an.
Methoden von ByteArrayOutputStream
Die ByteArrayOutputStream
Klasse stellt die Implementierung der verschiedenen Methoden bereit, die in OutputStream
vorhanden sind Klasse.
write()-Methode
write(int byte)
- schreibt das angegebene Byte in den Ausgabestromwrite(byte[] array)
- schreibt die Bytes aus dem angegebenen Array in den Ausgabestromwrite(byte[] arr, int start, int length)
- schreibt die Anzahl der Bytes gleich length in den Ausgabestrom von einem Array, beginnend an der Position startwriteTo(ByteArrayOutputStream out1)
- schreibt die gesamten Daten des aktuellen Ausgabestroms in den angegebenen Ausgabestrom
Beispiel:ByteArrayOutputStream zum Schreiben von Daten
import java.io.ByteArrayOutputStream;
class Main {
public static void main(String[] args) {
String data = "This is a line of text inside the string.";
try {
// Creates an output stream
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] array = data.getBytes();
// Writes data to the output stream
out.write(array);
// Retrieves data from the output stream in string format
String streamData = out.toString();
System.out.println("Output stream: " + streamData);
out.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Ausgabe
Output stream: This is a line of text inside the string.
Im obigen Beispiel haben wir einen Byte-Array-Ausgabestream mit dem Namen output erstellt .
ByteArrayOutputStream output = new ByteArrayOutputStream();
Um die Daten in den Ausgabestream zu schreiben, haben wir den write()
verwendet Methode.
Hinweis :Die getBytes()
Die im Programm verwendete Methode konvertiert einen String in ein Array von Bytes.
Zugriffsdaten von ByteArrayOutputStream
toByteArray()
- gibt das im Ausgabestrom vorhandene Array zurücktoString()
- gibt die gesamten Daten des Ausgabestreams in Stringform zurück
Zum Beispiel
import java.io.ByteArrayOutputStream;
class Main {
public static void main(String[] args) {
String data = "This is data.";
try {
// Creates an output stream
ByteArrayOutputStream out = new ByteArrayOutputStream();
// Writes data to the output stream
out.write(data.getBytes());
// Returns an array of bytes
byte[] byteData = out.toByteArray();
System.out.print("Data using toByteArray(): ");
for(int i=0; i<byteData.length; i++) {
System.out.print((char)byteData[i]);
}
// Returns a string
String stringData = out.toString();
System.out.println("\nData using toString(): " + stringData);
out.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Ausgabe
Data using toByteArray(): This is data. Data using toString(): This is data.
Im obigen Beispiel haben wir ein Byte-Array erstellt, um die von toByteArray()
zurückgegebenen Daten zu speichern Methode.
Wir haben dann die for-Schleife verwendet, um auf jedes Byte aus dem Array zuzugreifen. Hier wird jedes Byte per Typecasting in das entsprechende Zeichen umgewandelt.
close()-Methode
Um den Ausgabestream zu schließen, können wir den close()
verwenden Methode.
Allerdings ist die close()
Methode hat keine Wirkung in ByteArrayOutputStream
Klasse. Wir können die Methoden dieser Klasse auch nach dem close()
verwenden Methode aufgerufen wird.
Andere Methoden von ByteArrayOutputStream
Methoden | Beschreibungen |
---|---|
size() | gibt die Größe des Arrays im Ausgabestrom zurück |
flush() | löscht den Ausgabestrom |
Um mehr zu erfahren, besuchen Sie Java ByteArrayOutputStream (offizielle Java-Dokumentation).
Java