ByteBuffer.Compact メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このバッファーを nbsp; &圧縮します。(省略可能な操作)。
[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
戻り値
このバッファー
- 属性
例外
このバッファーの内容に変更を加えなくてもかまいません。
注釈
このバッファーを nbsp; &圧縮します。(省略可能な操作)。
バッファーの現在位置とその制限 (存在する場合) の間のバイトは、バッファーの先頭にコピーされます。 つまり、インデックス p のバイト =  です。position()
はインデックス 0 にコピーされ、インデックス p のバイト + 1 はインデックス 1 にコピーされ、インデックスのバイト limit()
-  までコピーされます。1 はインデックス n =  にコピーされます。limit()
nbsp;-  を&します。1
nbsp;-  を&します。p. その後、バッファーの位置は n+1 に設定され、その制限はその容量に設定されます。 定義されている場合、マークは破棄されます。
バッファーの位置は 0 ではなくコピーされたバイト数に設定されるため、このメソッドの呼び出しの直後に別の相対 put メソッドを呼び出すことができます。
書き込みが不完全な場合に備えて、バッファーからデータを書き込んだ後にこのメソッドを呼び出します。 たとえば、次のループは、バッファー buf
を介してあるチャネルから別のチャネルにバイトをコピーします。
<blockquote>
{@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
}
}
</blockquote>
の java.nio.ByteBuffer.compact()
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。