Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Classe Java ByteArrayOutputStream

Classe Java ByteArrayOutputStream


Neste tutorial, aprenderemos sobre Java ByteArrayOutputStream e seus métodos com a ajuda de exemplos.

O ByteArrayOutputStream classe do java.io pacote pode ser usado para escrever uma matriz de dados de saída (em bytes).

Ele estende o OutputStream classe abstrata.



Observação :Em ByteArrayOutputStream mantém uma matriz interna de bytes para armazenar os dados.


Criar um ByteArrayOutputStream


Para criar um fluxo de saída de array de bytes, devemos importar o java.io.ByteArrayOutputStream pacote primeiro. Depois de importar o pacote, veja como podemos criar um fluxo de saída.
// Creates a ByteArrayOutputStream with default size
ByteArrayOutputStream out = new ByteArrayOutputStream();

Aqui, criamos um fluxo de saída que gravará dados em uma matriz de bytes com tamanho padrão de 32 bytes. No entanto, podemos alterar o tamanho padrão do array.
// Creating a ByteArrayOutputStream with specified size
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);

Aqui, o tamanho especifica o comprimento da matriz.

Métodos de ByteArrayOutputStream


O ByteArrayOutputStream classe fornece a implementação dos diferentes métodos presentes no OutputStream classe.

Método write()

Exemplo:ByteArrayOutputStream para gravar dados

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

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

No exemplo acima, criamos um fluxo de saída de array de bytes chamado output .
ByteArrayOutputStream output = new ByteArrayOutputStream();



Para gravar os dados no fluxo de saída, usamos o write() método.

Observação :O getBytes() O método usado no programa converte uma string em uma matriz de bytes.

Acessar dados de ByteArrayOutputStream


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

Saída
Data using toByteArray(): This is data.
Data using toString(): This is data.

No exemplo acima, criamos um array de bytes para armazenar os dados retornados pelo toByteArray() método.

Em seguida, usamos o loop for para acessar cada byte do array. Aqui, cada byte é convertido no caractere correspondente usando typecasting.

método close()


Para fechar o fluxo de saída, podemos usar o close() método.

No entanto, o close() método não tem efeito em ByteArrayOutputStream classe. Podemos usar os métodos desta classe mesmo após o close() método é chamado.

Outros métodos de ByteArrayOutputStream

Métodos Descrições
size() retorna o tamanho da matriz no fluxo de saída
flush() limpa o fluxo de saída

Para saber mais, visite Java ByteArrayOutputStream (documentação oficial do Java).

Java

  1. Palavra-chave final Java
  2. Java instanceof Operator
  3. Herança Java
  4. Classe estática aninhada em Java
  5. Classe anônima Java
  6. Classe Java Singleton
  7. Reflexão Java
  8. Classe Java ObjectOutputStream
  9. Genéricos Java
  10. Classe de arquivo Java