J'ai besoin de convertir un array
en DataInputStream
ou DataOutputStream
. Et puis reconvertir à ce type de array
comment convertir java array en DataInputStream ou DataOutputStream?
Répondre
nous avons donc deux parties ici: 1. Conversion byteArray à fluxEntrée:
byte[] byteArr = new byte[] { 0xC, 0xA, 0xF, 0xE };
InputStream in = new ByteArrayInputStream(byteArr);
Et ce est de savoir comment convertir un fluxEntrée à un byteArray (vous pouvez également importer les IOUtils)
InputStream in;
octet [] octets = IOUtils.toByteArray (in);
Modifier: si vous avez un byteArray vous devez d'abord le convertir en intarray comme ce
IntBuffer intBuf =
ByteBuffer.wrap(byteArray)
.order(ByteOrder.BIG_ENDIAN)
.asIntBuffer();
int[] array = new int[intBuf.remaining()];
intBuf.get(array);
merci pour la réponse. Comment puis-je l'utiliser pour un tableau int? –
J'ai mis à jour la réponse pour vous, je reçois downvotes pour vous avoir répondu, je ne devrais probablement pas, alors s'il vous plaît la prochaine fois essayer quelque chose puis poser la question et ne pas oublier d'accepter ma réponse. –
Merci de nous faire savoir. Quelle est ta question? Qu'avez-vous essayé? S'il vous plaît lire [Comment puis-je poser une bonne question?] (Https://stackoverflow.com/help/how-to-ask) et [Pourquoi est-ce que quelqu'un peut m'aider? "Pas une question réelle?] (Https://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-actual-question) – tnw
Souhaitez-vous envoyer le tableau via le flux (utilisez un objet 'Object {Input | Output} Stream', ou en envoyant la longueur du tableau suivi par les éléments du tableau un à la fois), ou capturer les octets du flux dans un tableau 'byte'? – AJNeufeld