Dans ce didacticiel, nous allons découvrir Java ByteArrayOutputStream et ses méthodes à l'aide d'exemples.
La ByteArrayOutputStream
classe du java.io
package peut être utilisée pour écrire un tableau de données de sortie (en octets).
Il étend la OutputStream
classe abstraite.
Remarque : In ByteArrayOutputStream
gère 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 d'abord importer le java.io.ByteArrayOutputStream
package. Une fois que nous importons le package, 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 modifier 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
La ByteArrayOutputStream
classe fournit l'implémentation des différentes méthodes présentes dans la OutputStream
classe.
write (), méthode
write(int byte)
- écrit l'octet spécifié dans le flux de sortiewrite(byte() array)
- écrit les octets du tableau spécifié dans le flux de sortiewrite(byte() arr, int start, int length)
- écrit le nombre d'octets égal à la longueur dans le flux de sortie d'un tableau à partir de la position de débutwriteTo(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(); ) ) )
Production
Flux de sortie: il s'agit d'une ligne de texte à l'intérieur de la chaîne.
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é la write()
méthode.
Remarque : La getBytes()
méthode utilisée dans le programme convertit une chaîne en un tableau d'octets.
Accéder aux données depuis ByteArrayOutputStream
toByteArray()
- renvoie le tableau présent à l'intérieur du flux de sortietoString()
- 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
Output
Data using toByteArray(): This is data. Data using toString(): This is data.
In the above example, we have created an array of bytes to store the data returned by the
toByteArray()
method.
We then have used the for loop to access each byte from the array. Here, each byte is converted into the corresponding character using typecasting.
close() Method
To close the output stream, we can use the
close()
method.
However, the
close()
method has no effect in ByteArrayOutputStream
class. We can use the methods of this class even after the close()
method is called.
Other Methods of ByteArrayOutputStream
Méthodes | Descriptions |
---|---|
size() | renvoie la taille du tableau dans le flux de sortie |
flush() | efface le flux de sortie |
To learn more, visit Java ByteArrayOutputStream (official Java documentation).