Comment convertir outputStream à un tableau d'octets?
Comment puis-je convertir un OutputStream à un tableau d'octets? J'ai trouvé que j'ai d'abord besoin de convertir ce OutputStream à un ByteArrayOutputStream. Il est la seule méthode write() de cette classe OutputStream et je ne sais pas quoi faire. Est-il une idée?
Utiliser les toByteArray pour extraire les octets
Strictement parlant, vous ne pouvez pas. Un flux de sortie est une sortie de flux est un flux de sortie. Une fois qu'elle existe, vous pourriez peut-être l'envelopper dans un PrintStream ou quelque chose.
Strictement parlant, vous ne pouvez pas. Un flux de sortie est une sortie de flux est un flux de sortie. Une fois qu'elle existe, vous pourriez peut-être l'envelopper dans un PrintStream ou quelque chose.
OriginalL'auteur hellzone | 2014-04-18
Vous devez vous connecter pour publier un commentaire.
Créer un
ByteArrayOutputStream
.Emparer de son contenu en appelant
toByteArray()
Référence
OriginalL'auteur Washcloth
Que vous devez faire 2 choses
On pourrait même l'étendre comme mentionné ici
OriginalL'auteur John
Vous peut simplement déclarer votre flux de sortie comme un
ByteArrayOutputStream
ensuite utiliserByteArrayOutputStream#toByteArray()
.OriginalL'auteur Dillon Ryan Redding
Si le
OutputStream
objet fourni n'est pas déjà unByteArrayOutputStream
, on peutwrap
à l'intérieur d'un délégué de classe qui va "saisir" les octets fourni à lawrite()
méthodes, par exemple,Afin de réduire les frais généraux, les appels à
super
dans la classe ci-dessus peuvent être omises, par exemple, si seule la "conversion" d'un tableau d'octets est souhaitée.Une discussion plus détaillée peut être trouvée dans une autre question StackOverflow.
OriginalL'auteur PNS