English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java complete list of examples
Dans cet exemple, nous allons apprendre à convertir un flux d'entrée en tableau de bytes en Java.
Pour comprendre cet exemple, vous devriez comprendre ce qui suitJava programmationThème :
import java.io.InputStream; import java.util.Arrays; import java.io.ByteArrayInputStream; public class Main { public static void main(String args[]) { try { //Créer un flux d'entrée byte[] input = {1, 2, 3, 4}; InputStream stream = new ByteArrayInputStream(input); System.out.println("Flux d'entrée: " + stream); //Convertir le flux d'entrée en tableau de bytes byte[] array = stream.readAllBytes(); System.out.println("Tableau de bytes : " + Arrays.toString(array)); stream.close(); } catch (Exception e) { e.getStackTrace(); } } }
Output result
Input Stream: java.io.ByteArrayInputStream@27082746 Tableau de bytes : [1, 2, 3, 4]
Dans l'exemple précédent, nous avons créé un flux d'entrée nommé stream (InputStream). Notez cette ligne,
byte[] array = stream.readAllBytes();
Ici, la méthode readAllBytes() retourne toutes les données du flux et les stocke dans un tableau de bytes.
Attention:Nous avons utilisé la méthode Arrays.toString() pour convertir tout le tableau en chaîne de caractères.
import java.io.InputStream; import java.util.Arrays; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; public class Main { public static void main(String args[]) { try { //Créer un flux d'entrée byte[] input = {1, 2, 3, 4}; InputStream stream = new ByteArrayInputStream(input); System.out.println("Flux d'entrée: " + stream); //Créer un flux de sortie ByteArrayOutputStream output = new ByteArrayOutputStream(); //Créer un tableau de bytes pour stocker le flux d'entrée byte[] array = new byte[4]; int i; //Lire toutes les données du flux d'entrée dans le tableau while ((i = stream.read(array, 0, array.length)) != -1) { //Écrire toutes les données du tableau dans la sortie output.write(array, 0, i); } byte[] data = output.toByteArray(); //Convertir le flux d'entrée en tableau de bytes System.out.println("Byte Array: ") + Arrays.toString(data)); stream.close(); } catch (Exception e) { e.getStackTrace(); } } }
Output result
Input Stream: java.io.ByteArrayInputStream@27082746 Byte Array: [1, 2, 3, 4]
In the above example, we created an input stream input from array. Note the expression
stream.read(array, 0, array.length)
In this case, all elements of the stream are stored in an array, starting from index 0. Then, we store all elements of the array into the output stream named output.
output.write(array, 0, i)
Finally, we call the toByteArray() method of the ByteArrayOutputStream class to convert the output stream to a byte array named data.