3

固定長の ByteBuffer があり、1 バイト (または複数のバイト) をバッファーの先頭に「シフト解除」したいと同時に、バッファーの末尾からバイトを「ポップ」したい、つまり、固定長でデータをストリーミングするのとほぼ同じです。バッファ。バックのポップされたバイトは削除されるだけです。

私はこのすべてのバッファリングに不慣れで、これを達成するための最良の方法について混乱しています (パフォーマンスが重要です)。とコマンドを使用するByteBufferのが最善ですか? たとえば、バイトを「シフト解除」して「ポップ」するには、次のようにします。slice()put

ByteBuffer buffer = getMyBuffer();

buffer.position(0);
buffer.limit(buffer.capacity() - 1);
ByteBuffer slicedBuffer = buffer.slice();

buffer.position(0);
buffer.put(newByte);
buffer.put(slicedBuffer);

これは通常、これが行われる方法ですか?それとも初心者なので、明らかな何かが欠けていますか?ありがとう。

4

0 に答える 0