ByteBuffer.Compact 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
壓縮此緩衝區 (可選操作)。
[Android.Runtime.Register("compact", "()Ljava/nio/ByteBuffer;", "GetCompactHandler")]
public abstract Java.Nio.ByteBuffer Compact();
[<Android.Runtime.Register("compact", "()Ljava/nio/ByteBuffer;", "GetCompactHandler")>]
abstract member Compact : unit -> Java.Nio.ByteBuffer
傳回
這個緩衝區
- 屬性
例外狀況
若此緩衝區內容不可更改。
備註
壓縮此緩衝區 (可選操作)。
緩衝區目前位置與其限制之間的位元組(如有)會被複製到緩衝區的起始位置。 也就是說 ,p = position() 複製至索引零,位元組位於 索引 p + 1 被複製到索引 1,依此類推直到索引 limit() - 1 被複製到索引 n = limit() - 1 - 頁。 緩衝區的位置設為 n+1 ,限制設為容量。 若標記被定義,則被棄用。
緩衝區的位置設定為複製的位元組數,而非零,因此此方法的呼叫後,可以立即接著呼叫另一個相對 的 put 方法。
在從緩衝區寫入資料後,若寫入未完成,請呼叫此方法。 以下迴圈例如,透過緩衝 buf區將位元組從一個通道複製到另一個通道:
<引用>
{@code
buf.clear(); // Prepare buffer for use
while (in.read(buf) >= 0 || buf.position != 0) {
buf.flip();
out.write(buf);
buf.compact(); // In case of partial write
}
}
</區塊引用>
Java 文件 java.nio.ByteBuffer.compact()。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。