ByteBuffer.Compact Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Compacta este buffer (operação opcional).
[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
Retornos
Este buffer
- Atributos
Exceções
se não forem feitas alterações no conteúdo deste buffer.
Comentários
Compacta este buffer (operação opcional).
Os bytes entre a posição atual do buffer e seu limite, se houver, são copiados para o início do buffer. Ou seja, o byte no índice p = position()
é copiado para o índice zero, o byte no índice p + 1 é copiado para o índice um, e assim por diante até o byte no índice limit()
- 1 é copiado para o índice n = limit()
- 1
- págs. A posição do buffer é então definida como n+1 e seu limite é definido como sua capacidade. A marca, se definida, é descartada.
A posição do buffer é definida como o número de bytes copiados, em vez de zero, para que uma invocação desse método possa ser seguida imediatamente por uma invocação de outro método put relativo.
Invoque esse método depois de gravar dados de um buffer caso a gravação esteja incompleta. O loop a seguir, por exemplo, copia bytes de um canal para outro por meio do buffer 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>
Documentação Java para java.nio.ByteBuffer.compact()
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.