Clase Java ByteArrayOutputStream

Java 流(Stream)Flujo Java (Stream)


El flujo de salida de matriz de bytes crea un búfer de matriz de bytes en la memoria; todos los datos enviados al flujo de salida se guardan en este búfer de matriz de bytes. Hay varias formas de crear un objeto de flujo de salida de matriz de bytes.

El siguiente constructor crea un búfer de 32 bytes (tamaño predeterminado).

OutputStream bOut = new ByteArrayOutputStream();

Otro constructor crea un búfer deabytes.

OutputStream bOut = new ByteArrayOutputStream(int a)

Después de crear con éxito el objeto de flujo de salida de matriz de bytes, puede consultar los métodos de la siguiente lista para realizar operaciones de escritura u otras operaciones en el flujo.

No. Descripción del método
1 public void reset()
El campo de este flujo de salida de matriz de bytescountse restablece a cero, descartando así todos los datos de salida acumulados actualmente en el flujo de salida.
2 public byte[] toByteArray()
Crea una matriz de bytes recién asignada. El tamaño de la matriz es el tamaño del flujo de salida actual, y el contenido es una copia del flujo de salida actual.
3 public String toString()
Convierte el contenido del búfer en una cadena, convirtiendo los bytes en caracteres según la codificación de caracteres predeterminada de la plataforma.
4 public void write(int w)
Escribe el byte especificado en este flujo de salida de matriz de bytes.
5 public void write(byte []b, int off, int len)
Desde el desplazamiento en la matriz de bytes especificadaoffcomenzando enlenbytes se escriben en este flujo de salida de matriz de bytes.
6 public void writeTo(OutputStream outSt)
Escribe todo el contenido de este flujo de salida de matriz de bytes en el parámetro de flujo de salida especificado.

Ejemplo

El siguiente ejemplo demuestra el uso de ByteArrayInputStream y ByteArrayOutputStream:

Ejemplo

import java.io.*; public class ByteStreamTest { public static void main(String args[])throws IOException { ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12); while( bOutput.size()!= 10 ) { //Obtener la entrada del usuario bOutput.write(System.in.read()); } byte b [] = bOutput.toByteArray(); System.out.println("Print the content"); for(int x= 0 ; x < b.length; x++) { //Imprimir caracteres System.out.print((char)b[x] + " "); } System.out.println(" "); int c; ByteArrayInputStream bInput = new ByteArrayInputStream(b); System.out.println("Converting characters to Upper case " ); for(int y = 0 ; y < 1; y++ ) { while(( c= bInput.read())!= -1) { System.out.println(Character.toUpperCase((char)c)); } bInput.reset(); } } }

El resultado de compilar y ejecutar el ejemplo anterior es el siguiente:

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)Flujo Java (Stream)

Otras extensiones