ByteBuffer.Compact Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Compacta este búfer (operación 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
Devoluciones
Este búfer
- Atributos
Excepciones
si no se puede realizar ningún cambio en el contenido de este búfer.
Comentarios
Compacta este búfer (operación opcional).
Los bytes entre la posición actual del búfer y su límite, si existe, se copian al principio del búfer. Es decir, el byte en el índice p = position()
se copia en el índice cero, el byte en el índice p + 1 se copia en el índice uno, y así sucesivamente hasta el byte en el índice limit()
- 1 se copia en el índice n = limit()
- 1
- p. La posición del búfer se establece en n+1 y su límite se establece en su capacidad. La marca, si se define, se descarta.
La posición del búfer se establece en el número de bytes copiados, en lugar de en cero, para que una invocación de este método pueda ir seguida inmediatamente por una invocación de otro método put relativo.
Invoque este método después de escribir datos de un búfer en caso de que la escritura estuviera incompleta. El siguiente bucle, por ejemplo, copia bytes de un canal a otro a través del búfer 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>
Documentación de Java para java.nio.ByteBuffer.compact()
.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.