Classe Java ByteArrayOutputStream

Java 流(Stream)Flux Java


Un flux de sortie de tableau d'octets crée un tampon de tableau d'octets en mémoire, et toutes les données envoyées au flux de sortie sont stockées dans ce tampon de tableau d'octets. Il existe plusieurs façons de créer un objet ByteArrayOutputStream.

Le constructeur suivant crée un tampon de 32 octets (taille par défaut).

OutputStream bOut = new ByteArrayOutputStream();

Un autre constructeur crée un tampon de tailleaoctets.

OutputStream bOut = new ByteArrayOutputStream(int a)

Après avoir créé avec succès un objet ByteArrayOutputStream, vous pouvez vous référer à la liste de méthodes suivante pour effectuer des opérations d'écriture ou d'autres opérations sur le flux.

Non. Description de la méthode
1 public void reset()
Le champ de ce flux de sortie de tableau d'octetscountest remis à zéro, ce qui supprime toutes les données de sortie actuellement accumulées dans le flux de sortie.
2 public byte[] toByteArray()
Crée un tableau d'octets nouvellement alloué. La taille du tableau est la taille du flux de sortie courant, et son contenu est une copie du flux de sortie courant.
3 public String toString()
Convertit le contenu du tampon en chaîne de caractères, en convertissant les octets en caractères selon l'encodage de caractères par défaut de la plateforme.
4 public void write(int w)
Écrit l'octet spécifié dans ce flux de sortie de tableau d'octets.
5 public void write(byte []b, int off, int len)
Dans le tableau d'octets spécifiéoffà partir de l'offsetlenles octets sont écrits dans ce flux de sortie de tableau d'octets.
6 public void writeTo(OutputStream outSt)
Écrit la totalité du contenu de ce flux de sortie de tableau d'octets dans le flux de sortie spécifié en argument.

Exemple

L'exemple suivant montre l'utilisation de ByteArrayInputStream et ByteArrayOutputStream :

Exemple

import java.io.*; public class ByteStreamTest { public static void main(String args[])throws IOException { ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12); while( bOutput.size()!= 10 ) { //Obtenir la saisie de l'utilisateur bOutput.write(System.in.read()); } byte b [] = bOutput.toByteArray(); System.out.println("Afficher le contenu"); for(int x= 0 ; x < b.length; x++) { //Afficher les caractères System.out.print((char)b[x] + " "); } System.out.println(" "); int c; ByteArrayInputStream bInput = new ByteArrayInputStream(b); System.out.println("Conversion des caractères en majuscules " ); for(int y = 0 ; y < 1; y++ ) { while(( c= bInput.read())!= -1) { System.out.println(Character.toUpperCase((char)c)); } bInput.reset(); } } }

Le résultat de la compilation et de l'exécution de l'exemple ci-dessus est le suivant :

asdfghjkly
Print the content
a   s   d   f   g   h   j   k   l   y
Converting characters to Upper case
A
S
D
F
G
H
J
K
L
Y

Java 流(Stream)Flux Java

Autres extensions