Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Clase Java ByteArrayOutputStream

Clase Java ByteArrayOutputStream

En este tutorial, aprenderemos sobre Java ByteArrayOutputStream y sus métodos con la ayuda de ejemplos.

El ByteArrayOutputStream clase del java.io El paquete se puede usar para escribir una matriz de datos de salida (en bytes).

Extiende el OutputStream clase abstracta.

Nota :En ByteArrayOutputStream mantiene una matriz interna de bytes para almacenar los datos.


Crear un ByteArrayOutputStream

Para crear un flujo de salida de matriz de bytes, debemos importar el java.io.ByteArrayOutputStream paquete primero. Una vez que importamos el paquete, así es como podemos crear un flujo de salida.

// Creates a ByteArrayOutputStream with default size
ByteArrayOutputStream out = new ByteArrayOutputStream();

Aquí, hemos creado un flujo de salida que escribirá datos en una matriz de bytes con un tamaño predeterminado de 32 bytes. Sin embargo, podemos cambiar el tamaño predeterminado de la matriz.

// Creating a ByteArrayOutputStream with specified size
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);

Aquí, el tamaño especifica la longitud de la matriz.


Métodos de ByteArrayOutputStream

El ByteArrayOutputStream class proporciona la implementación de los diferentes métodos presentes en el OutputStream clase.

método write()

Ejemplo:ByteArrayOutputStream para escribir datos

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();
    }
  }
}

Salida

Output stream: This is a line of text inside the string.

En el ejemplo anterior, hemos creado un flujo de salida de matriz de bytes llamado salida .

ByteArrayOutputStream output = new ByteArrayOutputStream();

Para escribir los datos en el flujo de salida, hemos usado el write() método.

Nota :El getBytes() El método utilizado en el programa convierte una cadena en una matriz de bytes.


Acceso a datos desde ByteArrayOutputStream

Por ejemplo,

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();
    }
  }
}

Salida

Data using toByteArray(): This is data.
Data using toString(): This is data.

En el ejemplo anterior, hemos creado una matriz de bytes para almacenar los datos devueltos por toByteArray() método.

Luego hemos usado el bucle for para acceder a cada byte de la matriz. Aquí, cada byte se convierte en el carácter correspondiente mediante el encasillado.


Método cerrar()

Para cerrar el flujo de salida, podemos usar close() método.

Sin embargo, el close() el método no tiene efecto en ByteArrayOutputStream clase. Podemos usar los métodos de esta clase incluso después del close() se llama al método.


Otros métodos de ByteArrayOutputStream

Métodos Descripciones
size() devuelve el tamaño de la matriz en el flujo de salida
flush() borra el flujo de salida

Para obtener más información, visite Java ByteArrayOutputStream (documentación oficial de Java).


Java

  1. Palabra clave final de Java
  2. Operador de instancia de Java
  3. Herencia de Java
  4. Clase estática anidada de Java
  5. Clase anónima de Java
  6. Clase única de Java
  7. Reflexión Java
  8. Clase Java ArrayList
  9. Clase Java ObjectOutputStream
  10. Genéricos de Java
  11. Clase de archivo Java