Clase Java.io.ByteArrayOutputStream() en Java

io.ByteArrayOutputStream() Class in Java

La clase java.io.ByteArrayOutputStream crea un flujo de salida para escribir datos en una array de bytes. El tamaño del búfer crece automáticamente a medida que se escriben datos en él. No hay ningún efecto de cerrar byteArrayOutputStream en el funcionamiento de sus métodos. Pueden ser llamados incluso después de cerrar la clase.
Por lo tanto, ningún método arroja una excepción de E/S.

Declaración:

public class ByteArrayOutputStream
   extends OutputStream

Campos:

  • byte protegido [] buf : el búfer donde se almacenan los datos.
  • conteo int protegido : el número de bytes válidos en el búfer.
  • Constructores :

    • ByteArrayOutputStream() : crea un nuevo ByteArrayOutputStream para escribir bytes
    • ByteArrayOutputStream(int buffersize) : crea un nuevo ByteArrayOutputStream con buferrsize para escribir bytes.

    Métodos:

    • write(int byte) : java.io.ByteArrayOutputStream.write(int byte) escribe el byte especificado en el flujo de salida.
      Sintaxis:
      public void write(int byte)
      Parameters : 
      byte : byte to be written
      Return :                                               
      void
      
    • write(byte[] buffer, int offset, int maxlen) : java.io.ByteArrayOutputStream.write(byte[] buffer, int offset, int maxlen) escribe maxlen bytes de los datos del búfer al flujo de salida. Convierte el contenido de la secuencia utilizando el charsetName especificado (un mapeo con nombre entre secuencias de unidades de código Unicode de dieciséis bits y secuencias de bytes).
      Sintaxis:
      public void write(byte[] buffer, int offset, int maxlen)
      Parameters : 
      buffer : data of the buffer
      offset : starting in the destination array - 'buffer'.
      maxlen : maximum length of array to be read
      Return :                                               
      void
      
    • toByteArray(): java.io.ByteArrayOutputStream.toByteArray() crea una nueva array de bytes que tiene la misma
      sintaxis del flujo de salida:
      public byte[] toByteArray()
      Parameters : 
      ----------
      Return :                                               
      new byte array having the same as that of Output Stream
      

      Programa Java que explica el uso de los métodos write(byte[] buffer, int offset, int maxlen) y toByteArray() :

      // Java program illustrating the working of ByteArrayOutputStream
      // write(byte[] buffer, int offset, int maxlen), toByteArray()
        
      import java.io.*;
      public class NewClass
      {
          public static void main(String[] args) throws IOException
          {
              ByteArrayOutputStream geek_output = new ByteArrayOutputStream();
        
              byte[] buffer = {'J', 'A', 'V', 'A'};
        
              // Use of write(byte[] buffer, int offset, int maxlen)
              geek_output.write(buffer, 0, 4);
              System.out.print("Use of write(buffer, offset, maxlen) by toByteArray() : ");
        
              // Use of toByteArray() :
              for (byte b: geek_output.toByteArray())
              {
                  System.out.print(" " + b);
              }
          }
      }

      Producción :

      Use of write(buffer, offset, maxlen) by toByteArray() :  74 65 86 65
    • close() : java.io.ByteArrayOutputStream.close() cierra el flujo de salida y libera los recursos asignados.
      Sintaxis:
      public void close()
      Parameters : 
      --------------
      Return :                                               
      void
      
    • size() : java.io.ByteArrayOutputStream.size() devuelve el tamaño del búfer presente dentro del flujo de salida.
      Sintaxis:
      public int size()
      Parameters : 
      --------------
      Return :                                               
      size of buffer present inside the Output Stream. 
      
    • reset(): java.io.ByteArrayOutputStream.reset() restablece el conteo completo de la secuencia a cero y ayudará a que la secuencia comience como nueva
      . Sintaxis:
       
      public void reset()
      Parameters : 
      --------------
      Return :                                               
      void. 
      
    • toString(): java.io.ByteArrayOutputStream.toStrign() convierte el contenido de Output Stream al juego de caracteres predeterminado de la plataforma.
      Sintaxis:
       
      public String toString()
      Parameters : 
      --------------
      Return :                                               
      the content of Output Stream by converting it to platform's default Character set
      
    • toString(String charsetName) : java.io.ByteArrayOutputStream.toStrign(String charsetName) convierte el contenido de Output Stream al conjunto de caracteres especificado de la plataforma
      Sintaxis :
       
      public String toString(String charsetName)
      Parameters : 
      --------------
      Return :                                               
      the content of Output Stream by converting it to platform's default Character set
      

      Programa Java que ilustra el uso de métodos de clase ByteArrayOutputStream:

      // Java program illustrating the working of ByteArrayOutputStream
      // write(), size(), toString(String charsetName),
      // close(), toString(), reset()
        
      import java.io.*;
      public class NewClass
      {
          public static void main(String[] args) throws IOException
          {
              ByteArrayOutputStream geek_output = new ByteArrayOutputStream();
        
              byte[] buffer = {'J', 'A', 'V', 'A'};
                
              for (byte a : buffer)
              {
                  // Use of write(int byte) :
                  geek_output.write(a);
              }
        
              // Use of size() :
              int size = geek_output.size();
              System.out.println("Use of size() : " + size);
        
              // Use of reset() :
              System.out.println("Use of reset()");
        
              // USe of toString() :
              String geek = geek_output.toString();
              System.out.println("Use of toString() : "+ geek);
        
              // Use of toString(String charsetName)
              String geek1 = geek_output.toString("UTF-8");
              System.out.println("Use of toString(String charsetName) : "+ geek1);
        
              // Closing the stream
              geek_output.close();
        
          }
      }

      Producción :

      Use of size() : 4
      Use of reset()
      Use of toString() : JAVA
      Use of toString(String charsetName) : JAVA

    • Artículo siguiente:
      clase io.ByteArrayInputStream en Java
      Este artículo es una contribución de Mohit Gupta 🙂 . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

      Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

    Publicación traducida automáticamente

    Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *