Sprache

Deflater.Deflate Methode

Definition

Überlädt

Name Beschreibung
Deflate(ByteBuffer)

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

Deflate(Byte[])

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

Deflate(ByteBuffer, Int32)

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

Deflate(Byte[], Int32, Int32)

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

Deflate(Byte[], Int32, Int32, Int32)

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

Deflate(ByteBuffer)

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

[Android.Runtime.Register("deflate", "(Ljava/nio/ByteBuffer;)I", "GetDeflate_Ljava_nio_ByteBuffer_Handler", ApiSince=35)]
public virtual int Deflate(Java.Nio.ByteBuffer? output);
[<Android.Runtime.Register("deflate", "(Ljava/nio/ByteBuffer;)I", "GetDeflate_Ljava_nio_ByteBuffer_Handler", ApiSince=35)>]
abstract member Deflate : Java.Nio.ByteBuffer -> int
override this.Deflate : Java.Nio.ByteBuffer -> int

Parameter

output
ByteBuffer

der Puffer für die komprimierten Daten

Gibt zurück

die tatsächliche Anzahl der Bytes von komprimierten Daten, die in den Ausgabepuffer geschrieben wurden

Attribute

Hinweise

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten. Gibt die tatsächliche Anzahl der Bytes komprimierter Daten zurück. Ein Rückgabewert von 0 gibt an, dass #needsInput() needsInput aufgerufen werden soll, um festzustellen, ob mehr Eingabedaten erforderlich sind.

Diese Methode wird als Komprimierungs-Flush-Modus verwendet #NO_FLUSH . Ein Aufruf dieser Methode des Formulars deflater.deflate(output) führt zu demselben Ergebnis wie der Aufruf von deflater.deflate(output, Deflater.NO_FLUSH).

In 11 hinzugefügt.

Java-Dokumentation für java.util.zip.Deflater.deflate(java.nio.ByteBuffer).

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.

Gilt für:

Deflate(Byte[])

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

[Android.Runtime.Register("deflate", "([B)I", "GetDeflate_arrayBHandler")]
public virtual int Deflate(byte[]? output);
[<Android.Runtime.Register("deflate", "([B)I", "GetDeflate_arrayBHandler")>]
abstract member Deflate : byte[] -> int
override this.Deflate : byte[] -> int

Parameter

output
Byte[]

der Puffer für die komprimierten Daten

Gibt zurück

die tatsächliche Anzahl der Bytes von komprimierten Daten, die in den Ausgabepuffer geschrieben wurden

Attribute

Hinweise

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten. Gibt die tatsächliche Anzahl der Bytes komprimierter Daten zurück. Ein Rückgabewert von 0 gibt an, dass #needsInput() needsInput aufgerufen werden soll, um festzustellen, ob mehr Eingabedaten erforderlich sind.

Diese Methode wird als Komprimierungs-Flush-Modus verwendet #NO_FLUSH . Ein Aufruf dieser Methode des Formulars deflater.deflate(b) führt zu demselben Ergebnis wie der Aufruf von deflater.deflate(b, 0, b.length, Deflater.NO_FLUSH).

Java-Dokumentation für java.util.zip.Deflater.deflate(byte[]).

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.

Gilt für:

Deflate(ByteBuffer, Int32)

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

[Android.Runtime.Register("deflate", "(Ljava/nio/ByteBuffer;I)I", "GetDeflate_Ljava_nio_ByteBuffer_IHandler", ApiSince=35)]
public virtual int Deflate(Java.Nio.ByteBuffer? output, int flush);
[<Android.Runtime.Register("deflate", "(Ljava/nio/ByteBuffer;I)I", "GetDeflate_Ljava_nio_ByteBuffer_IHandler", ApiSince=35)>]
abstract member Deflate : Java.Nio.ByteBuffer * int -> int
override this.Deflate : Java.Nio.ByteBuffer * int -> int

Parameter

output
ByteBuffer

der Puffer für die komprimierten Daten

flush
Int32

Der Komprimierungs-Flush-Modus

Gibt zurück

die tatsächliche Anzahl der Bytes von komprimierten Daten, die in den Ausgabepuffer geschrieben wurden

Attribute

Hinweise

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten. Gibt die tatsächliche Anzahl der Bytes der komprimierten Daten zurück.

Der Komprimierungsspülmodus ist einer der folgenden drei Modi:

<ul><li>#NO_FLUSH: ermöglicht es dem Deflater zu entscheiden, wie viel Daten gesammelt werden sollen, bevor die Ausgabe erzeugt wird, um die beste Komprimierung zu erreichen (sollte im normalen Anwendungsszenario verwendet werden). Ein Rückgabewert von 0 in diesem Leermodus gibt an, dass #needsInput() aufgerufen werden soll, um festzustellen, ob mehr Eingabedaten erforderlich sind.

<li>#SYNC_FLUSH: Alle ausstehenden Ausgaben im Aufblaser werden in den angegebenen Ausgabepuffer geleert, sodass eine Aufblasung, die auf komprimierten Daten funktioniert, alle bisher verfügbaren Eingabedaten abrufen kann (insbesondere die #needsInput() Rückgaben true nach diesem Aufruf, wenn genügend Ausgabespeicher bereitgestellt wird). Das Leeren mit #SYNC_FLUSH kann die Komprimierung für einige Komprimierungsalgorithmen beeinträchtigen und daher nur bei Bedarf verwendet werden.

<li>#FULL_FLUSH: Alle ausstehenden Ausgaben werden wie bei #SYNC_FLUSH. Der Komprimierungszustand wird zurückgesetzt, sodass der Aufblaser, der an den komprimierten Ausgabedaten arbeitet, von diesem Punkt aus neu gestartet werden kann, wenn vorherige komprimierte Daten beschädigt wurden oder ob der zufällige Zugriff gewünscht ist. Die Verwendung #FULL_FLUSH zu häufig kann die Komprimierung erheblich beeinträchtigen. </ul>

Wenn der Rückgabewert dem #FULL_FLUSH#SYNC_FLUSHverbleibenden Speicherplatz von ByteBuffer#remaining() des Puffers entspricht, sollte diese Methode erneut mit demselben flush Parameter und mehr Ausgaberaum aufgerufen werden. Stellen Sie sicher, dass der Puffer mindestens 6 Byte verbleibenden Speicherplatz aufweist, um zu vermeiden, dass die Löschmarkierung (5 Byte) bei jedem Aufruf dieser Methode wiederholt in den Ausgabepuffer ausgegeben wird.

Bei Erfolg wird die Position des angegebenen output Bytepuffers um so viele Bytes erweitert, wie sie vom Vorgang erzeugt wurden, was der von dieser Methode zurückgegebenen Zahl entspricht.

Wenn die #setInput(ByteBuffer) Methode aufgerufen wurde, um einen Puffer für die Eingabe bereitzustellen, wird die Position des Eingabepuffers um die Anzahl der von diesem Vorgang verbrauchten Bytes erweitert.

In 11 hinzugefügt.

Java-Dokumentation für java.util.zip.Deflater.deflate(java.nio.ByteBuffer, int).

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.

Gilt für:

Deflate(Byte[], Int32, Int32)

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

[Android.Runtime.Register("deflate", "([BII)I", "GetDeflate_arrayBIIHandler")]
public virtual int Deflate(byte[]? output, int off, int len);
[<Android.Runtime.Register("deflate", "([BII)I", "GetDeflate_arrayBIIHandler")>]
abstract member Deflate : byte[] * int * int -> int
override this.Deflate : byte[] * int * int -> int

Parameter

output
Byte[]

der Puffer für die komprimierten Daten

off
Int32

start offset of the data

len
Int32

die maximale Anzahl von Bytes komprimierter Daten

Gibt zurück

die tatsächliche Anzahl der Bytes von komprimierten Daten, die in den Ausgabepuffer geschrieben wurden

Attribute

Hinweise

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten. Gibt die tatsächliche Anzahl der Bytes komprimierter Daten zurück. Ein Rückgabewert von 0 gibt an, dass #needsInput() needsInput aufgerufen werden soll, um festzustellen, ob mehr Eingabedaten erforderlich sind.

Diese Methode wird als Komprimierungs-Flush-Modus verwendet #NO_FLUSH . Ein Aufruf dieser Methode des Formulars deflater.deflate(b, off, len) führt zu demselben Ergebnis wie der Aufruf von deflater.deflate(b, off, len, Deflater.NO_FLUSH).

Java-Dokumentation für java.util.zip.Deflater.deflate(byte[], int, int).

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.

Gilt für:

Deflate(Byte[], Int32, Int32, Int32)

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten.

[Android.Runtime.Register("deflate", "([BIII)I", "GetDeflate_arrayBIIIHandler")]
public virtual int Deflate(byte[]? output, int off, int len, int flush);
[<Android.Runtime.Register("deflate", "([BIII)I", "GetDeflate_arrayBIIIHandler")>]
abstract member Deflate : byte[] * int * int * int -> int
override this.Deflate : byte[] * int * int * int -> int

Parameter

output
Byte[]

der Puffer für die komprimierten Daten

off
Int32

start offset of the data

len
Int32

die maximale Anzahl von Bytes komprimierter Daten

flush
Int32

Der Komprimierungs-Flush-Modus

Gibt zurück

die tatsächliche Anzahl der Bytes von komprimierten Daten, die in den Ausgabepuffer geschrieben wurden

Attribute

Ausnahmen

ist flush ungültig.

Hinweise

Komprimiert die Eingabedaten und füllt den angegebenen Puffer mit komprimierten Daten. Gibt die tatsächliche Anzahl der Bytes der komprimierten Daten zurück.

Der Komprimierungsspülmodus ist einer der folgenden drei Modi:

<ul><li>#NO_FLUSH: ermöglicht es dem Deflater zu entscheiden, wie viel Daten gesammelt werden sollen, bevor die Ausgabe erzeugt wird, um die beste Komprimierung zu erreichen (sollte im normalen Anwendungsszenario verwendet werden). Ein Rückgabewert von 0 in diesem Leermodus gibt an, dass #needsInput() aufgerufen werden soll, um festzustellen, ob mehr Eingabedaten erforderlich sind.

<li>#SYNC_FLUSH: Alle ausstehenden Ausgaben im Aufblaser werden in den angegebenen Ausgabepuffer geleert, sodass eine Aufblasung, die auf komprimierten Daten funktioniert, alle bisher verfügbaren Eingabedaten abrufen kann (insbesondere die #needsInput() Rückgaben true nach diesem Aufruf, wenn genügend Ausgabespeicher bereitgestellt wird). Das Leeren mit #SYNC_FLUSH kann die Komprimierung für einige Komprimierungsalgorithmen beeinträchtigen und daher nur bei Bedarf verwendet werden.

<li>#FULL_FLUSH: Alle ausstehenden Ausgaben werden wie bei #SYNC_FLUSH. Der Komprimierungszustand wird zurückgesetzt, sodass der Aufblaser, der an den komprimierten Ausgabedaten arbeitet, von diesem Punkt aus neu gestartet werden kann, wenn vorherige komprimierte Daten beschädigt wurden oder ob der zufällige Zugriff gewünscht ist. Die Verwendung #FULL_FLUSH zu häufig kann die Komprimierung erheblich beeinträchtigen. </ul>

Im Fall oder #FULL_FLUSH#SYNC_FLUSH, wenn der Rückgabewert ist len, der im Ausgabepuffer bverfügbare Speicherplatz, sollte diese Methode erneut mit demselben flush Parameter und mehr Ausgaberaum aufgerufen werden. Stellen Sie sicher, dass es größer als 6 ist, um zu vermeiden, dass len die Löschmarkierung (5 Byte) bei jedem Aufruf dieser Methode wiederholt in den Ausgabepuffer ausgegeben wird.

Wenn die #setInput(ByteBuffer) Methode aufgerufen wurde, um einen Puffer für die Eingabe bereitzustellen, wird die Position des Eingabepuffers um die Anzahl der von diesem Vorgang verbrauchten Bytes erweitert.

In 1.7 hinzugefügt.

Java-Dokumentation für java.util.zip.Deflater.deflate(byte[], int, int, int).

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.

Gilt für: