Inflater.Inflate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| Inflate(ByteBuffer) |
將位元組解壓縮到指定的緩衝區。 |
| Inflate(Byte[]) |
將位元組解壓縮到指定的緩衝區。 |
| Inflate(Byte[], Int32, Int32) |
將位元組解壓縮到指定的緩衝區。 |
Inflate(ByteBuffer)
將位元組解壓縮到指定的緩衝區。
[Android.Runtime.Register("inflate", "(Ljava/nio/ByteBuffer;)I", "GetInflate_Ljava_nio_ByteBuffer_Handler", ApiSince=35)]
public virtual int Inflate(Java.Nio.ByteBuffer? output);
[<Android.Runtime.Register("inflate", "(Ljava/nio/ByteBuffer;)I", "GetInflate_Ljava_nio_ByteBuffer_Handler", ApiSince=35)>]
abstract member Inflate : Java.Nio.ByteBuffer -> int
override this.Inflate : Java.Nio.ByteBuffer -> int
參數
- output
- ByteBuffer
為未壓縮資料的緩衝區
傳回
實際未壓縮位元組數
- 屬性
備註
將位元組解壓縮到指定的緩衝區。 回傳未壓縮的實際位元組數。 回傳值為 0 表示應呼叫 needsInput() 或 needsDictionary(),以判斷是否需要更多輸入資料或預設字典。 在後者情況下,可以使用 getAdler() 來取得所需字典的 Adler-32 值。
成功後,該 output 位元組緩衝區的位置將前進與操作產生的位元組相同,該位元組數等於此方法回傳的位元組數。 請注意,即使拋出 a output 時,緩衝區的位置DataFormatException仍會被推進。
剩餘的 #getRemaining() 位元組數會被消耗的輸入位元組數減少。 若 #setInput(ByteBuffer) 呼叫該方法提供輸入緩衝區,輸入緩衝區的位置會隨著消耗的位元組數提前。
這些位元組總數,以及 #getBytesRead() 總讀取位元組數和 #getBytesWritten() 總寫入值,即使拋出 a DataFormatException 也會繼續更新,以反映例外發生前消耗和產生的資料量。
新增11。
的 java.util.zip.Inflater.inflate(java.nio.ByteBuffer)Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
Inflate(Byte[])
將位元組解壓縮到指定的緩衝區。
[Android.Runtime.Register("inflate", "([B)I", "GetInflate_arrayBHandler")]
public virtual int Inflate(byte[]? output);
[<Android.Runtime.Register("inflate", "([B)I", "GetInflate_arrayBHandler")>]
abstract member Inflate : byte[] -> int
override this.Inflate : byte[] -> int
參數
- output
- Byte[]
為未壓縮資料的緩衝區
傳回
實際未壓縮位元組數
- 屬性
例外狀況
若底層串流損壞或未使用壓縮 Deflater。
備註
將位元組解壓縮到指定的緩衝區。 回傳未壓縮的實際位元組數。 回傳值為 0 表示應呼叫 needsInput() 或 needsDictionary(),以判斷是否需要更多輸入資料或預設字典。 在後者情況下,可以使用 getAdler() 來取得所需字典的 Adler-32 值。
剩餘的 #getRemaining() 位元組數會被消耗的輸入位元組數減少。 若 #setInput(ByteBuffer) 呼叫該方法提供輸入緩衝區,輸入緩衝區的位置會隨著消耗的位元組數提前。
這些位元組總數,以及 #getBytesRead() 總讀取位元組數和 #getBytesWritten() 總寫入值,即使拋出 a DataFormatException 也會繼續更新,以反映例外發生前消耗和產生的資料量。
的 java.util.zip.Inflater.inflate(byte[])Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
Inflate(Byte[], Int32, Int32)
將位元組解壓縮到指定的緩衝區。
[Android.Runtime.Register("inflate", "([BII)I", "GetInflate_arrayBIIHandler")]
public virtual int Inflate(byte[]? output, int off, int len);
[<Android.Runtime.Register("inflate", "([BII)I", "GetInflate_arrayBIIHandler")>]
abstract member Inflate : byte[] * int * int -> int
override this.Inflate : byte[] * int * int -> int
參數
- output
- Byte[]
為未壓縮資料的緩衝區
- off
- Int32
資料的起始偏移量
- len
- Int32
最大未壓縮位元組數
傳回
實際未壓縮位元組數
- 屬性
例外狀況
若底層串流損壞或未使用壓縮 Deflater。
備註
將位元組解壓縮到指定的緩衝區。 回傳未壓縮的實際位元組數。 回傳值為 0 表示應呼叫 needsInput() 或 needsDictionary(),以判斷是否需要更多輸入資料或預設字典。 在後者情況下,可以使用 getAdler() 來取得所需字典的 Adler-32 值。
若呼叫該 #setInput(ByteBuffer) 方法提供輸入緩衝區,輸入緩衝區的位置會依據此操作所消耗的位元組數前進,即使拋出 a DataFormatException 也相同。
剩餘的 #getRemaining() 位元組數會被消耗的輸入位元組數減少。 若 #setInput(ByteBuffer) 呼叫該方法提供輸入緩衝區,輸入緩衝區的位置會隨著消耗的位元組數提前。
這些位元組總數,以及 #getBytesRead() 總讀取位元組數和 #getBytesWritten() 總寫入值,即使拋出 a DataFormatException 也會繼續更新,以反映例外發生前消耗和產生的資料量。
的 java.util.zip.Inflater.inflate(byte[], int, int)Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。