Java >> Tutoriel Java >  >> Tag >> byte

Convertir ArrayList en Byte Array Java

Convertir ArrayList en Byte Array Java | Dans cette section, nous allons écrire un programme Java pour convertir une liste de tableaux en un tableau d'octets. L'octet est l'un des huit types de données primitifs en Java, il va de -128 à 127, tandis que la liste est une collection ordonnée d'objets de type de données similaire, elle permet des valeurs en double, l'insertion et la suppression d'éléments. Le tableau Byte est utilisé pour stocker uniquement les types de données byte.

L'explication du code Java de conversion d'ArrayList en tableau d'octets est la suivante :-

Étape 1 :- Pour convertir la liste des tableaux en octets, nous devons importer certaines classes disponibles en Java. Ce sont les classes ByteArrayOutputStream, IOException, ObjectOutPutStream, ArrayList et List.
Étape 2 :Ensuite, dans la classe principale, nous créons un objet de la liste et une variable d'octet puis instancions l'objet de la liste à ArrayList.

Étape 3  :Ajoutez ensuite les éléments à ArrayList un par un en utilisant la méthode add().
Étape-4  :Plus tard, en utilisant ByteArrayOutputStream pour convertir la liste de tableaux en un tableau d'octets.
Étape 5 :Lors de la conversion de ArrayList en tableau d'octets, une exception peut être levée afin de gérer cette exception, nous utilisons les méthodes try et catch.

Convertir ArrayList en programme Java Byte Array

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main {

   public static void main(String[] args) {
      List<String> list = new ArrayList<String>();
      list.add("Array");
      list.add("list");
      list.add("to");
      list.add("byte");
      list.add("array");
      System.out.println("Given ArrayList: " + list);
      
      ByteArrayOutputStream output = 
                  new ByteArrayOutputStream();
      ObjectOutputStream obj;
      try {
         obj = new ObjectOutputStream(output);
         obj.writeObject(list);
      } catch (IOException e) {
         e.printStackTrace();
      }

      byte[] bytes = output.toByteArray();
      System.out.println("ArrayList is successfully "+
                         "converted to Byte Array");
      System.out.println("Byte array: " + Arrays.toString(bytes));
   }
}

Sortie :-

ArrayList donné :[Array, list, to, byte, array]
ArrayList est converti avec succès en Byte Array
Tableau d'octets :[-84, -19, 0, 5, 115, 114, 0, 19 , 106, 97, 118, 97, 46, 117, 116, 105, 108, 46, 65, 114, 114, 97, 121, 76, 105, 115, 116, 120, -127, -46, 29, - 103, -57, 97, -99, 3, 0, 1, 73, 0, 4, 115, 105, 122, 101, 120, 112, 0, 0, 0, 5, 119, 4, 0, 0, 0, 5, 116, 0, 5, 65, 114, 114, 97, 121, 116, 0, 4, 108, 105, 115, 116, 116, 0, 2, 116, 111, 116, 0, 4, 98, 121, 116, 101, 116, 0, 5, 97, 114, 114, 97, 121, 120]

Dans le programme Java de conversion ArrayList en tableau d'octets ci-dessus, nous avons pris une ArrayList de String. Certains éléments de chaîne sont ajoutés à ArrayList. Après cela, ArrayList est converti en un tableau d'octets à l'aide de ByteArrayOutputStream et d'ObjectOutputStream.

ByteArrayOutputStream &ObjectOutputStream sont la classe enfant de la classe OutputStream. La méthode writeObject() de ObjectOutputStream et la méthode toByteArray() de la classe ByteArrayOutputStream sont utilisées pour résoudre le problème.


No
Balise Java