言語

Deflater.Deflate メソッド

定義

オーバーロード

名前 説明
Deflate(ByteBuffer)

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

Deflate(Byte[])

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

Deflate(ByteBuffer, Int32)

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

Deflate(Byte[], Int32, Int32)

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

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

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

Deflate(ByteBuffer)

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

[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

パラメーター

output
ByteBuffer

圧縮データのバッファー

返品

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

属性

注釈

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

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

11 に追加されました。

Javaドキュメント。

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

適用対象

Deflate(Byte[])

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

[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

パラメーター

output
Byte[]

圧縮データのバッファー

返品

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

属性

注釈

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

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

Javaドキュメント。

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

適用対象

Deflate(ByteBuffer, Int32)

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

[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

パラメーター

output
ByteBuffer

圧縮データのバッファー

flush
Int32

圧縮フラッシュ モード

返品

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

属性

注釈

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

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

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

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

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

#FULL_FLUSHまたは#SYNC_FLUSHの場合、戻り値がバッファーの ByteBuffer#remaining() の残りの領域と等しい場合は、同じflush パラメーターとより多くの出力領域を使用して、このメソッドを再度呼び出す必要があります。 このメソッドが呼び出されるたびにフラッシュ マーカー (5 バイト) が出力バッファーに繰り返し出力されないように、バッファーに少なくとも 6 バイトの残りの領域があることを確認します。

成功した場合、指定された output バイト バッファーの位置は、操作によって生成されたバイト数だけ進められます。これは、このメソッドによって返された数と同じです。

入力用のバッファーを提供するために #setInput(ByteBuffer) メソッドが呼び出された場合、入力バッファーの位置は、この操作で使用されたバイト数だけ進められます。

11 に追加されました。

Javaドキュメント。

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

適用対象

Deflate(Byte[], Int32, Int32)

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

[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

パラメーター

output
Byte[]

圧縮データのバッファー

off
Int32

データの開始オフセット

len
Int32

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

返品

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

属性

注釈

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

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

Javaドキュメント。

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

適用対象

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

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

[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

パラメーター

output
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または#SYNC_FLUSHの場合、戻り値がlenの場合、出力バッファーで使用可能な領域b、このメソッドは同じflush パラメーターとより多くの出力領域を使用して再度呼び出す必要があります。 このメソッドが呼び出されるたびにフラッシュ マーカー (5 バイト) が出力バッファーに繰り返し出力されないように、 len が 6 より大きくなっています。

入力用のバッファーを提供するために #setInput(ByteBuffer) メソッドが呼び出された場合、入力バッファーの位置は、この操作で使用されたバイト数だけ進められます。

1.7 で追加されました。

Javaドキュメント。

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

適用対象