語言

ByteBuffer.Compact 方法

定義

壓縮此緩衝區  (可選操作)。

[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&nbsp;= 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 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於