El método toByteArray() de la clase ByteArrayOutputStream en Java se usa para crear una array de bytes recién asignada. El tamaño de la array de bytes recién asignada es igual al tamaño actual de este flujo de salida. Este método copia contenidos válidos del búfer en él.
Sintaxis:
public byte[] toByteArray()
Parámetros: Este método no acepta ningún parámetro.
Valor devuelto: el método devuelve una array de bytes recién asignada que tiene el contenido válido de este flujo de salida.
Excepciones: este método no arroja ninguna excepción.
Los siguientes programas ilustran el método toByteArray() en la clase ByteArrayOutputStream en el paquete IO:
Programa 1:
// Java program to illustrate // ByteArrayOutputStream toByteArray() method import java.io.*; public class GFG { public static void main(String[] args) throws Exception { // Create byteArrayOutputStream ByteArrayOutputStream byteArrayOutStr = new ByteArrayOutputStream(); // Create byte array byte[] buf = { 71, 69, 69, 75, 83 }; // Write byte array // to byteArrayOutputStream byteArrayOutStr.write(buf); for (byte b : byteArrayOutStr .toByteArray()) { // Print the byte System.out.println((char)b); } } }
Producción:
G E E K S
Programa 2:
// Java program to illustrate // ByteArrayOutputStream toByteArray() method import java.io.*; public class GFG { public static void main(String[] args) throws Exception { // Create byteArrayOutputStream ByteArrayOutputStream byteArrayOutStr = new ByteArrayOutputStream(); // Create byte array byte[] buf = { 71, 69, 69, 75, 83, 70, 79, 82, 71, 69, 69, 75, 83 }; // Write byte array // to byteArrayOutputStream byteArrayOutStr.write(buf); for (byte b : byteArrayOutStr .toByteArray()) { // Print the byte System.out.println((char)b); } } }
Producción:
G E E K S F O R G E E K S
Referencias:
https://docs.oracle.com/javase/10/docs/api/java/io/ByteArrayOutputStream.html#toByteArray()