Deflater.Deflate Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Deflate(ByteBuffer) |
Comprime i dati di input e riempie il buffer specificato con dati compressi. |
| Deflate(Byte[]) |
Comprime i dati di input e riempie il buffer specificato con dati compressi. |
| Deflate(ByteBuffer, Int32) |
Comprime i dati di input e riempie il buffer specificato con dati compressi. |
| Deflate(Byte[], Int32, Int32) |
Comprime i dati di input e riempie il buffer specificato con dati compressi. |
| Deflate(Byte[], Int32, Int32, Int32) |
Comprime i dati di input e riempie il buffer specificato con dati compressi. |
Deflate(ByteBuffer)
Comprime i dati di input e riempie il buffer specificato con dati compressi.
[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
Parametri
- output
- ByteBuffer
buffer per i dati compressi
Valori restituiti
numero effettivo di byte di dati compressi scritti nel buffer di output
- Attributi
Commenti
Comprime i dati di input e riempie il buffer specificato con dati compressi. Restituisce il numero effettivo di byte di dati compressi. Un valore restituito pari a 0 indica che #needsInput() needsInput deve essere chiamato per determinare se sono necessari più dati di input.
Questo metodo usa #NO_FLUSH come modalità di scaricamento della compressione. Una chiamata di questo metodo del form deflater.deflate(output) restituisce lo stesso risultato della chiamata di deflater.deflate(output, Deflater.NO_FLUSH).
Aggiunta in 11.
per java.util.zip.Deflater.deflate(java.nio.ByteBuffer).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Deflate(Byte[])
Comprime i dati di input e riempie il buffer specificato con dati compressi.
[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
Parametri
- output
- Byte[]
buffer per i dati compressi
Valori restituiti
numero effettivo di byte di dati compressi scritti nel buffer di output
- Attributi
Commenti
Comprime i dati di input e riempie il buffer specificato con dati compressi. Restituisce il numero effettivo di byte di dati compressi. Un valore restituito pari a 0 indica che #needsInput() needsInput deve essere chiamato per determinare se sono necessari più dati di input.
Questo metodo usa #NO_FLUSH come modalità di scaricamento della compressione. Una chiamata di questo metodo del form deflater.deflate(b) restituisce lo stesso risultato della chiamata di deflater.deflate(b, 0, b.length, Deflater.NO_FLUSH).
per java.util.zip.Deflater.deflate(byte[]).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Deflate(ByteBuffer, Int32)
Comprime i dati di input e riempie il buffer specificato con dati compressi.
[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
Parametri
- output
- ByteBuffer
buffer per i dati compressi
- flush
- Int32
modalità di scaricamento della compressione
Valori restituiti
numero effettivo di byte di dati compressi scritti nel buffer di output
- Attributi
Commenti
Comprime i dati di input e riempie il buffer specificato con dati compressi. Restituisce il numero effettivo di byte di dati compressi.
La modalità di scaricamento della compressione è una delle tre modalità seguenti:
<ul><li>#NO_FLUSH: consente al gonfiatore di decidere la quantità di dati da accumulare, prima di produrre output, per ottenere la compressione migliore (deve essere usata nello scenario di utilizzo normale). Un valore restituito pari a 0 in questa modalità di scaricamento indica che #needsInput() deve essere chiamato per determinare se sono necessari più dati di input.
<li>#SYNC_FLUSH: tutto l'output in sospeso nel deflater viene scaricato, nel buffer di output specificato, in modo che un gonfiatore che funzioni sui dati compressi può ottenere tutti i dati di input disponibili fino a questo momento (in particolare il #needsInput() restituisce true dopo questa chiamata se viene fornito spazio di output sufficiente). Lo scaricamento con #SYNC_FLUSH può compromettere la compressione per alcuni algoritmi di compressione e quindi deve essere usato solo quando necessario.
<li>#FULL_FLUSH: tutto l'output in sospeso viene scaricato come con #SYNC_FLUSH. Lo stato di compressione viene reimpostato in modo che l'gonfiatore che funziona sui dati di output compressi possa essere riavviato da questo punto se i dati compressi precedenti sono stati danneggiati o se si desidera un accesso casuale. L'uso #FULL_FLUSH di troppo spesso può compromettere seriamente la compressione.
</ul>
Nel caso di #FULL_FLUSH o #SYNC_FLUSH, se il valore restituito è uguale allo spazio rimanente ByteBuffer#remaining() del buffer, questo metodo deve essere richiamato di nuovo con lo stesso flush parametro e più spazio di output. Assicurarsi che il buffer abbia almeno 6 byte di spazio rimanente per evitare che l'indicatore di scaricamento (5 byte) venga restituito ripetutamente nel buffer di output ogni volta che questo metodo viene richiamato.
In caso di esito positivo, la posizione del buffer di byte specificato output verrà avanzata da quanti byte sono stati prodotti dall'operazione, che è uguale al numero restituito da questo metodo.
Se il #setInput(ByteBuffer) metodo è stato chiamato per fornire un buffer per l'input, la posizione del buffer di input verrà avanzata dal numero di byte utilizzati da questa operazione.
Aggiunta in 11.
per java.util.zip.Deflater.deflate(java.nio.ByteBuffer, int).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Deflate(Byte[], Int32, Int32)
Comprime i dati di input e riempie il buffer specificato con dati compressi.
[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
Parametri
- output
- Byte[]
buffer per i dati compressi
- off
- Int32
offset iniziale dei dati
- len
- Int32
numero massimo di byte di dati compressi
Valori restituiti
numero effettivo di byte di dati compressi scritti nel buffer di output
- Attributi
Commenti
Comprime i dati di input e riempie il buffer specificato con dati compressi. Restituisce il numero effettivo di byte di dati compressi. Un valore restituito pari a 0 indica che #needsInput() needsInput deve essere chiamato per determinare se sono necessari più dati di input.
Questo metodo usa #NO_FLUSH come modalità di scaricamento della compressione. Una chiamata di questo metodo del form deflater.deflate(b, off, len) restituisce lo stesso risultato della chiamata di deflater.deflate(b, off, len, Deflater.NO_FLUSH).
per java.util.zip.Deflater.deflate(byte[], int, int).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Deflate(Byte[], Int32, Int32, Int32)
Comprime i dati di input e riempie il buffer specificato con dati compressi.
[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
Parametri
- output
- Byte[]
buffer per i dati compressi
- off
- Int32
offset iniziale dei dati
- len
- Int32
numero massimo di byte di dati compressi
- flush
- Int32
modalità di scaricamento della compressione
Valori restituiti
numero effettivo di byte di dati compressi scritti nel buffer di output
- Attributi
Eccezioni
se flush non è valido.
Commenti
Comprime i dati di input e riempie il buffer specificato con dati compressi. Restituisce il numero effettivo di byte di dati compressi.
La modalità di scaricamento della compressione è una delle tre modalità seguenti:
<ul><li>#NO_FLUSH: consente al gonfiatore di decidere la quantità di dati da accumulare, prima di produrre output, per ottenere la compressione migliore (deve essere usata nello scenario di utilizzo normale). Un valore restituito pari a 0 in questa modalità di scaricamento indica che #needsInput() deve essere chiamato per determinare se sono necessari più dati di input.
<li>#SYNC_FLUSH: tutto l'output in sospeso nel deflater viene scaricato, nel buffer di output specificato, in modo che un gonfiatore che funzioni sui dati compressi può ottenere tutti i dati di input disponibili fino a questo momento (in particolare il #needsInput() restituisce true dopo questa chiamata se viene fornito spazio di output sufficiente). Lo scaricamento con #SYNC_FLUSH può compromettere la compressione per alcuni algoritmi di compressione e quindi deve essere usato solo quando necessario.
<li>#FULL_FLUSH: tutto l'output in sospeso viene scaricato come con #SYNC_FLUSH. Lo stato di compressione viene reimpostato in modo che l'gonfiatore che funziona sui dati di output compressi possa essere riavviato da questo punto se i dati compressi precedenti sono stati danneggiati o se si desidera un accesso casuale. L'uso #FULL_FLUSH di troppo spesso può compromettere seriamente la compressione.
</ul>
Nel caso di o #FULL_FLUSH, se il valore restituito è #SYNC_FLUSH, lo spazio disponibile nel buffer lendi b output , questo metodo deve essere richiamato di nuovo con lo stesso flush parametro e più spazio di output. Assicurarsi che sia maggiore di 6 per evitare che len l'indicatore di scaricamento (5 byte) venga restituito ripetutamente nel buffer di output ogni volta che questo metodo viene richiamato.
Se il #setInput(ByteBuffer) metodo è stato chiamato per fornire un buffer per l'input, la posizione del buffer di input verrà avanzata dal numero di byte utilizzati da questa operazione.
Aggiunta nella versione 1.7.
per java.util.zip.Deflater.deflate(byte[], int, int, int).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.