Quelqu'un sait-il comment convertir ByteBuffer en tableau d'octets []? J'ai besoin d'obtenir un tableau d'octets de mon ByteBuffer
. Lorsque j'exécute bytebuffer.hasArrray()
, elle renvoie non. Chaque question que j'ai regardée jusqu'à présent convertit un tableau d'octets en byteBuffer, mais j'en ai besoin dans l'autre sens. Merci.
ByteBuffer
expose la méthode get(byte[])
qui transfère les octets du tampon dans le tableau. Vous devrez instancier un tableau de longueur égale au nombre d'octets restants dans le tampon.
ByteBuffer buf = ...
byte[] arr = new byte[buf.remaining()];
buf.get(arr);
Si hasArray()
signale false
alors, appeler array()
lèvera une exception.
Dans ce cas, la seule façon d'obtenir les données dans un byte[]
Est d'allouer un byte[]
Et de copier les octets dans le byte[]
En utilisant get(byte)
ou similaire.