Partager via


ByteBuffer.Compact Méthode

Définition

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.

S’applique à