Deflater.Deflate メソッド

定義

オーバーロード

Deflate(Byte[])

入力データを圧縮し、指定されたバッファーに圧縮データを入力します。

Deflate(Byte[], Int32, Int32)

入力データを圧縮し、指定されたバッファーに圧縮データを入力します。

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

入力データを圧縮し、指定したバッファーに圧縮データを入力します。

Deflate(Byte[])

入力データを圧縮し、指定されたバッファーに圧縮データを入力します。

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

パラメーター

b
Byte[]

圧縮データのバッファー

戻り値

出力バッファーに書き込まれた圧縮データの実際のバイト数

属性

注釈

入力データを圧縮し、指定されたバッファーに圧縮データを入力します。 圧縮データの実際のバイト数を返します。 戻り値 0 は、より多くの入力データが #needsInput() needsInput 必要かどうかを判断するために呼び出す必要があることを示します。

このメソッドは、圧縮フラッシュ モードとして を使用 #NO_FLUSH します。 フォーム deflater.deflate(b) のこのメソッドを呼び出すと、 の呼び出し deflater.deflate(b, 0, b.length, Deflater.NO_FLUSH)と同じ結果が生成されます。

の Java ドキュメント java.util.zip.Deflater.deflate(byte[])

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

Deflate(Byte[], Int32, Int32)

入力データを圧縮し、指定されたバッファーに圧縮データを入力します。

[Android.Runtime.Register("deflate", "([BII)I", "GetDeflate_arrayBIIHandler")]
public virtual int Deflate (byte[]? b, 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

パラメーター

b
Byte[]

圧縮データのバッファー

off
Int32

データの開始オフセット

len
Int32

圧縮データの最大バイト数

戻り値

出力バッファーに書き込まれた圧縮データの実際のバイト数

属性

注釈

入力データを圧縮し、指定されたバッファーに圧縮データを入力します。 圧縮データの実際のバイト数を返します。 戻り値 0 は、より多くの入力データが #needsInput() needsInput 必要かどうかを判断するために呼び出す必要があることを示します。

このメソッドは、圧縮フラッシュ モードとして を使用 #NO_FLUSH します。 フォーム deflater.deflate(b, off, len) のこのメソッドを呼び出すと、 の呼び出し deflater.deflate(b, off, len, Deflater.NO_FLUSH)と同じ結果が生成されます。

の Java ドキュメント java.util.zip.Deflater.deflate(byte[], int, int)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

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

入力データを圧縮し、指定したバッファーに圧縮データを入力します。

[Android.Runtime.Register("deflate", "([BIII)I", "GetDeflate_arrayBIIIHandler")]
public virtual int Deflate (byte[]? b, 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

パラメーター

b
Byte[]

圧縮データのバッファー

off
Int32

データの開始オフセット

len
Int32

圧縮データの最大バイト数

flush
Int32

圧縮フラッシュ モード

戻り値

出力バッファーに書き込まれた圧縮データの実際のバイト数

属性

例外

が無効な場合 flush は 。

注釈

入力データを圧縮し、指定したバッファーに圧縮データを入力します。 圧縮されたデータの実際のバイト数を返します。

圧縮フラッシュ モードは、次の 3 つのモードのいずれかです。

<ul><li>#NO_FLUSH: 最適な圧縮を実現するために、出力を生成する前に、デフレーターが蓄積するデータの量を決定できます (通常の使用シナリオで使用する必要があります)。 このフラッシュ モードの戻り値 0 は、より多くの入力データが #needsInput() 必要かどうかを判断するために を呼び出す必要があることを示します。

<li>#SYNC_FLUSH: デフレーター内のすべての保留中の出力が、指定された出力バッファーにフラッシュされるため、圧縮データに対して動作するインフレータは、これまでに使用できるすべての入力データを取得できます (特に #needsInput() 、十分な出力領域が提供されている場合、この呼び出しの後に が返 true されます)。 でフラッシュすると #SYNC_FLUSH 、一部の圧縮アルゴリズムの圧縮が低下する可能性があるため、必要な場合にのみ使用する必要があります。

<li>#FULL_FLUSH: 保留中のすべての出力は、 と #SYNC_FLUSH同様にフラッシュされます。 圧縮状態がリセットされ、圧縮された出力データで動作するインフレータは、以前の圧縮データが破損している場合、またはランダム アクセスが必要な場合に、この時点から再起動できます。 頻繁に使用すると #FULL_FLUSH 、圧縮が深刻に低下する可能性があります。 </ul>

または の#FULL_FLUSH場合、戻り値が の場合はlen、出力バッファーbで使用できる領域、このメソッドは、同じflushパラメーターとより多くの出力領域を使用して再度呼び出す必要#SYNC_FLUSHがあります。

1.7 で追加されました。

の Java ドキュメント java.util.zip.Deflater.deflate(byte[], int, int, int)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象