Domanda

Ci sono due scenari: scrivere e leggere
Scrivere:
Ogni volta che scrivo qualcosa al bytebuffer chiamando il suo put(byte[]) Metodo il position La variabile è incrementata come: current position + size of byte[] e limit rimane al massimo.
Se, tuttavia, metto i dati in un buffer di visualizzazione, dovrò, manualmente, calcolare e aggiornare il position
Prima di chiamare il write(ByteBuffer) Metodo del canale per scrivere qualcosa, dovrò flip() il bytebuffer in modo che
position punta a zero e limit punta all'ultimo byte che è stato scritto al bytebuffer.
Lettura:
Ogni volta che chiamo il read(ByteBuffer) metodo di un canale per leggere qualcosa, il position La variabile rimane a 0 e il limit La variabile dei bytebuffer punta all'ultimo byte che è stato letto. Quindi, se il byteBuffer è più piccolo del file che viene letto, il limit La variabile viene spinta al massimo
Ciò significa che il bytebuffer è già capovolto e posso procedere all'estrazione dei valori dal bytebuffer.
Per favore, correggimi dove sbaglio :)

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top