J'ai un problème ici, et je pense que c'est parce que je ne comprends pas beaucoup comment je devrais utiliser l'API fournie par Java.
J'ai besoin d'écrire un J'ai pensé à utiliser un Je comprends que ces classes utilisent le motif d'emballage, j'ai donc eu deux options: P> int code > et un
octet [] code> dans un octet
[] code>. p>
dataOutputStream code> pour résoudre les données écrire avec
réveilint (int i) code> et
écriture (octet [] b) code>, et pour pouvoir mettre cela dans un tableau d'octets, je devrais utiliser
byteAreRayOutPutStream Méthode
TobyTeArray (). Code> P>
ByteArrayOutputStream w = new ByteArrayOutputStream(new DataOutputStream());
6 Réponses :
Comme ceci: réellement votre deuxième version ne fonctionnera pas du tout. DataOutPutStream code> nécessite un flux cible réel dans lequel écrire les données. Vous ne pouvez pas faire
nouveau dataOutPutStream () code>. Il n'y a pas de constructeur comme celui-là. P> p>
Je me suis toujours demandé, est-ce qu'il y a vraiment la raison de rincer un enroulé (code> byteArrayOutPutStream code>?
Il n'y a pas que vous ne connaissez jamais le comportement d'une enveloppe. Il pouvait réellement faire tamponner quelque chose, alors je rince l'enveloppe par habitude :). Si c'est un wrapper passe à travers cela ne devrait pas faire mal.
Pouvez-vous déclarer la variable byTarray? et qu'est-ce que réellement w.write (byearray); faire?
Ah son travail maintenant, il y a un problème sur mon éditeur hexagonal (je l'ai écrit pour déposer juste pour le prouver et cela fonctionne)
Utilisez l'ancien cas - Wrap dataOutUtStream code> autour du
byteArrayOutPutStream code>. Assurez-vous simplement de sauvegarder la référence au
byteAreRayOutPutStream code>. Lorsque vous avez fini, fermez () ou au moins affleurez () le
dataOutputStream code>, puis utilisez la méthode ToByTeArray du
byteAreArayOutPutStream code>. P>.
La classe INTEGER a une méthode pour obtenir la valeur d'octet d'un INT.
INTEGER.BYTEVALUE () code>
p>
Vous pouvez utiliser une approche de flux si vous connectez votre sortie de sortie à un INPUTStream via un Quoi qu'il en soit, si ce que vous devez faire est simple et ne nécessite pas d'approche de flux, j'utiliserais un PipedinPhatStream code> /
pipetOutPutStream code>. Ensuite, vous consommez les données de l'intrigue. P>
java.nio.bytebuffer code> sur lequel vous avez p>
mettre (octet [] src) code> pour votre
octet [] code> li>
puint (valeur int) code> li>
byte [] tableau () code> pour obtenir le contenu li>
ul>
Pourriez-vous faire une variable pour tenir sur la byearrayOutputStream et le transmettre dans la DataOutPutStream.
Vous n'avez pas besoin de plus comme ça
Bienvenue à Stackoverflow! Veuillez envisager Mise en forme B> CODE CODE> avec Markdown, il est donc plus facile de lire. Plus d'infos: Stackoverflow.com/editing-help