Java ByteArrayOutputStream-Klasse

Java 流(Stream)Java-Stream


Ein Byte-Array-Ausgabestream erstellt einen Byte-Array-Puffer im Speicher, und alle an den Ausgabestream gesendeten Daten werden in diesem Byte-Array-Puffer gespeichert. Es gibt mehrere Möglichkeiten, ein ByteArrayOutputStream-Objekt zu erstellen.

Der folgende Konstruktor erstellt einen Puffer mit 32 Byte (Standardgröße).

OutputStream bOut = new ByteArrayOutputStream();

Ein weiterer Konstruktor erstellt einen Puffer der GrößeaBytes.

OutputStream bOut = new ByteArrayOutputStream(int a)

Nachdem Sie erfolgreich ein ByteArrayOutputStream-Objekt erstellt haben, können Sie die folgende Liste von Methoden verwenden, um Schreiboperationen oder andere Operationen am Stream durchzuführen.

Nein. Methodenbeschreibung
1 public void reset()
Das Feld dieses Byte-Array-Ausgabestreamscountwird auf null zurückgesetzt, wodurch alle derzeit im Ausgabestream angesammelten Ausgabedaten verworfen werden.
2 public byte[] toByteArray()
Erzeugt ein neu zugewiesenes Byte-Array. Die Größe des Arrays entspricht der Größe des aktuellen Ausgabestreams, und sein Inhalt ist eine Kopie des aktuellen Ausgabestreams.
3 public String toString()
Konvertiert den Inhalt des Puffers in eine Zeichenkette, wobei Bytes gemäß der Standardzeichenkodierung der Plattform in Zeichen umgewandelt werden.
4 public void write(int w)
Schreibt das angegebene Byte in diesen Byte-Array-Ausgabestream.
5 public void write(byte []b, int off, int len)
Im angegebenen Byte-Arrayoffab dem Offsetlenwerden die Bytes in diesen Byte-Array-Ausgabestream geschrieben.
6 public void writeTo(OutputStream outSt)
Schreibt den gesamten Inhalt dieses Byte-Array-Ausgabestreams in das angegebene Ausgabestream-Argument.

Beispiel

Das folgende Beispiel demonstriert die Verwendung von ByteArrayInputStream und ByteArrayOutputStream:

Beispiel

import java.io.*; public class ByteStreamTest { public static void main(String args[])throws IOException { ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12); while( bOutput.size()!= 10 ) { //Benutzereingabe einlesen bOutput.write(System.in.read()); } byte b [] = bOutput.toByteArray(); System.out.println("Inhalt ausgeben"); for(int x= 0 ; x < b.length; x++) { //Zeichen ausgeben System.out.print((char)b[x] + " "); } System.out.println(" "); int c; ByteArrayInputStream bInput = new ByteArrayInputStream(b); System.out.println("Zeichen in Großbuchstaben umwandeln " ); for(int y = 0 ; y < 1; y++ ) { while(( c= bInput.read())!= -1) { System.out.println(Character.toUpperCase((char)c)); } bInput.reset(); } } }

Das Ergebnis des Kompilierens und Ausführens des obigen Beispiels ist wie folgt:

asdfghjkly
Print the content
a   s   d   f   g   h   j   k   l   y
Converting characters to Upper case
A
S
D
F
G
H
J
K
L
Y

Java 流(Stream)Java-Stream

Andere Erweiterungen