私は以下のようにByteBufferで読み続ける状況があります。ByteBufferとFileChannelは指定されたバイト数だけを読み込みます
ByteBuffer buffer = MappedByteBuffer.allocateDirect(Constants.BUFFER_SIZE);
しかし、読みが境界に到達したとき、私は唯一のboundaryLimit - FileChannel's current position
読む必要がある(残りのバイトが読みときBUFFER_SIZE未満)。
境界の制限がxで、現在の位置がyであることを意味するので、y
からx
までのバイトを読み込み、それを超えないようにする必要があります。
どうすればよいですか?
新しい容量で別のインスタンスを作成したくないです。
「*が境界に到達するとどういう意味ですか?」 – aioobe
読み取りのみを続行するための制限があります。それ以降のバイトは読み込まないでください。その限界が境界です。更新された質問 – nobody