Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Classe Java ByteArrayOutputStream

Classe Java ByteArrayOutputStream

Dans ce didacticiel, nous allons découvrir Java ByteArrayOutputStream et ses méthodes à l'aide d'exemples.

Le ByteArrayOutputStream classe du java.io package peut être utilisé pour écrire un tableau de données de sortie (en octets).

Il étend le OutputStream classe abstraite.

Remarque :En ByteArrayOutputStream maintient un tableau interne d'octets pour stocker les données.

Créer un ByteArrayOutputStream

Afin de créer un flux de sortie de tableau d'octets, nous devons importer le java.io.ByteArrayOutputStream paquet d'abord. Une fois le package importé, voici comment créer un flux de sortie.

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

Ici, nous avons créé un flux de sortie qui écrira des données dans un tableau d'octets avec une taille par défaut de 32 octets. Cependant, nous pouvons changer la taille par défaut du tableau.

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

Ici, la taille spécifie la longueur du tableau.

Méthodes de ByteArrayOutputStream

Le ByteArrayOutputStream La classe fournit l'implémentation des différentes méthodes présentes dans le OutputStream classe.

méthode write()

  • write(int byte) - écrit l'octet spécifié dans le flux de sortie
  • write(byte[] array) - écrit les octets du tableau spécifié dans le flux de sortie
  • write(byte[] arr, int start, int length) - écrit le nombre d'octets égal à longueur au flux de sortie d'un tableau à partir de la position début
  • writeTo(ByteArrayOutputStream out1) - écrit toutes les données du flux de sortie actuel dans le flux de sortie spécifié

Exemple :ByteArrayOutputStream pour écrire des données

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

Sortie

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

Dans l'exemple ci-dessus, nous avons créé un flux de sortie de tableau d'octets nommé output .

ByteArrayOutputStream output = new ByteArrayOutputStream();

Pour écrire les données dans le flux de sortie, nous avons utilisé le write() méthode.

Remarque :Le getBytes() méthode utilisée dans le programme convertit une chaîne en un tableau d'octets.

Accéder aux données de ByteArrayOutputStream

  • toByteArray() - renvoie le tableau présent dans le flux de sortie
  • toString() - renvoie toutes les données du flux de sortie sous forme de chaîne

Par exemple,

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

Sortie

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

Dans l'exemple ci-dessus, nous avons créé un tableau d'octets pour stocker les données renvoyées par le toByteArray() méthode.

Nous avons ensuite utilisé la boucle for pour accéder à chaque octet du tableau. Ici, chaque octet est converti dans le caractère correspondant en utilisant le transtypage.

Méthode close()

Pour fermer le flux de sortie, nous pouvons utiliser le close() méthode.

Cependant, le close() la méthode n'a aucun effet dans ByteArrayOutputStream classer. On peut utiliser les méthodes de cette classe même après le close() méthode est appelée.

Autres méthodes de ByteArrayOutputStream

Méthodes Descriptions
size() renvoie la taille du tableau dans le flux de sortie
flush() efface le flux de sortie

Pour en savoir plus, visitez Java ByteArrayOutputStream (documentation officielle de Java).


Java

  1. Mot-clé Java final
  2. Opérateur instanceof Java
  3. Classe statique imbriquée Java
  4. Classe anonyme Java
  5. Classe Java Singleton
  6. Réflexion Java
  7. Classe Java ObjectOutputStream
  8. Génériques Java
  9. Classe de fichier Java