ByteBuffer.Compact Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Komprimiert diesen Puffer (optionaler Vorgang).
[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
Gibt zurück
Dieser Puffer
- Attribute
Ausnahmen
wenn an dem Inhalt dieses Puffers möglicherweise keine Änderungen vorgenommen werden.
Hinweise
Komprimiert diesen Puffer (optionaler Vorgang).
Die Bytes zwischen der aktuellen Position des Puffers und dessen Grenzwert werden ggf. an den Anfang des Puffers kopiert. Das heißt, das Byte bei index p = position()
wird in Index 0 kopiert, das Byte bei index p + 1 wird in index 1 kopiert, und so weiter bis zum Byte bei index limit()
- 1 wird in index n = kopiert;limit()
- 1
- p. Die Position des Puffers wird dann auf n+1 festgelegt, und sein Grenzwert wird auf seine Kapazität festgelegt. Die Markierung, falls definiert, wird verworfen.
Die Position des Puffers wird auf die Anzahl der kopierten Bytes und nicht auf Null festgelegt, sodass ein Aufruf dieser Methode sofort durch einen Aufruf einer anderen relativen Put-Methode gefolgt werden kann.
Rufen Sie diese Methode nach dem Schreiben von Daten aus einem Puffer auf, falls der Schreibvorgang unvollständig war. Die folgende Schleife kopiert beispielsweise Bytes aus einem Kanal über den Puffer buf
in einen anderen:
<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-Dokumentation für java.nio.ByteBuffer.compact()
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.