ByteBuffer.Compact Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Compacte cette mémoire tampon&e ; ;(opération facultative).
[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
Retours
Cette mémoire tampon
- Attributs
Exceptions
si aucune modification ne peut être apportée au contenu de cette mémoire tampon.
Remarques
Compacte cette mémoire tampon&e ; ;(opération facultative).
Les octets entre la position actuelle de la mémoire tampon et sa limite, le cas échéant, sont copiés au début de la mémoire tampon. Autrement dit, l’octet à l’index p ;= ;position()
est copié à l’index zéro, l’octet à l’index p ;+ ; 1 est copié dans l’index 1, et ainsi de suite jusqu’à ce que l’octet à l’index limit()
;- ; 1 est copié dans l’index n ;= ;limit()
;- ;1
;- ;p. La position de la mémoire tampon est alors définie sur n+1 et sa limite est définie sur sa capacité. La marque, si elle est définie, est ignorée.
La position de la mémoire tampon est définie sur le nombre d’octets copiés, plutôt que sur zéro, afin qu’un appel de cette méthode puisse être suivi immédiatement par un appel d’une autre méthode put relative.
Appelez cette méthode après avoir écrit des données à partir d’une mémoire tampon si l’écriture était incomplète. La boucle suivante, par exemple, copie des octets d’un canal vers un autre via la mémoire tampon 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>
Documentation Java pour java.nio.ByteBuffer.compact()
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.