Question

Il y a deux scénarios: l'écriture et la lecture
L'écriture:
Chaque fois que j'écris quelque chose sur le bytebuffer en appelant son put(byte[]) Méthode le position La variable est incrémentée comme: current position + size of byte[] et limit Reste au Max.
Si, cependant, je mets les données dans un tampon de vue, je devrai, manuellement, calculer et mettre à jour le position
Avant d'appeler le write(ByteBuffer) Méthode du canal pour écrire quelque chose, je devrai flip() le bytebuffer pour que
position pointe à zéro et limit Souligne le dernier octet qui a été écrit au bytebuffer.
En lisant:
Chaque fois que j'appelle le read(ByteBuffer) Méthode d'un canal pour lire quelque chose, le position la variable reste à 0 et le limit La variable de l'octebuffer pointe vers le dernier octet qui a été lu. Donc, si l'octe-bytebuffer est plus petit que le fichier en cours de lecture, le limit la variable est poussée à max
Cela signifie que le bytebuffer est déjà renversé et je peux procéder à l'extraction des valeurs de l'octuble.
S'il vous plaît, corrigez-moi là où je me trompe :)

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top