Deflater 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。
[Android.Runtime.Register("java/util/zip/Deflater", DoNotGenerateAcw=true)]
public class Deflater : Java.Lang.Object
[<Android.Runtime.Register("java/util/zip/Deflater", DoNotGenerateAcw=true)>]
type Deflater = class
inherit Object
- 繼承
- 屬性
備註
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 ZLIB 壓縮函式庫最初是作為 PNG 圖形標準的一部分開發,且不受專利保護。 它在 java.util.zip 套件說明中的規格中有完整描述。
此類別將位元組序列壓縮成 ZLIB 壓縮資料格式。 輸入位元組序列可透過其中一種 setInput() 方法提供於位元組陣列或位元組緩衝區中。 輸出位元組序列會寫入傳送給 deflate() 方法的輸出位元組陣列或位元組緩衝區。
以下程式碼片段展示了使用 Deflater 和 Inflater的簡單壓縮與解壓字串。
<引用>
try {
// Encode a String into bytes
String inputString = "blahblahblah";
byte[] input = inputString.getBytes("UTF-8");
// Compress the bytes
byte[] output = new byte[100];
Deflater compresser = new Deflater();
compresser.setInput(input);
compresser.finish();
int compressedDataLength = compresser.deflate(output);
compresser.end();
// Decompress the bytes
Inflater decompresser = new Inflater();
decompresser.setInput(output, 0, compressedDataLength);
byte[] result = new byte[100];
int resultLength = decompresser.inflate(result);
decompresser.end();
// Decode the bytes into a String
String outputString = new String(result, 0, resultLength, "UTF-8");
} catch (java.io.UnsupportedEncodingException ex) {
// handle
} catch (java.util.zip.DataFormatException ex) {
// handle
}
</區塊引用>
在 1.1 版本中加入。
的 java.util.zip.DeflaterJava 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
| 名稱 | Description |
|---|---|
| Deflater() |
建立一個預設壓縮等級的新壓縮器。 |
| Deflater(Int32, Boolean) |
用指定的壓縮等級建立新的壓縮機。 |
| Deflater(Int32) |
用指定的壓縮等級建立新的壓縮機。 |
| Deflater(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
欄位
| 名稱 | Description |
|---|---|
| BestCompression |
壓縮等級以達到最佳壓縮。 |
| BestSpeed |
壓縮等級,代表最快壓縮。 |
| DefaultCompression |
預設壓縮等級。 |
| DefaultStrategy |
預設壓縮策略。 |
| Deflated |
壓縮演算法的壓縮方法(目前唯一支援的)。 |
| Filtered |
壓縮策略最適合用於主要由小值且分布較為隨機的資料。 |
| FullFlush |
壓縮沖洗模式用於沖洗所有待處理的輸出並重置拆除器。 |
| HuffmanOnly |
僅針對 Huffman 編碼的壓縮策略。 |
| NoCompression |
壓縮程度,不壓縮。 |
| NoFlush |
壓縮沖洗模式用於達到最佳壓縮效果。 |
| SyncFlush |
壓縮沖洗模式用於沖洗所有待處理的輸出;可能會降低某些壓縮演算法的壓縮效能。 |
屬性
| 名稱 | Description |
|---|---|
| Adler |
回傳未壓縮資料的 ADLER-32 值。 |
| BytesRead |
回傳迄今為止輸入的未壓縮位元組總數。 |
| BytesWritten |
回傳目前輸出的壓縮位元組總數。 |
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| JniPeerMembers |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| TotalIn |
回傳迄今為止輸入的未壓縮位元組總數。 |
| TotalOut |
回傳目前輸出的壓縮位元組總數。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| Deflate(Byte[], Int32, Int32, Int32) |
壓縮輸入資料,並以壓縮後的資料填滿指定的緩衝區。 |
| Deflate(Byte[], Int32, Int32) |
壓縮輸入資料,並以壓縮資料填滿指定的緩衝區。 |
| Deflate(Byte[]) |
壓縮輸入資料,並以壓縮資料填滿指定的緩衝區。 |
| Deflate(ByteBuffer, Int32) |
壓縮輸入資料,並以壓縮後的資料填滿指定的緩衝區。 |
| Deflate(ByteBuffer) |
壓縮輸入資料,並以壓縮資料填滿指定的緩衝區。 |
| DeflateAsync(Byte[], Int32, Int32, Int32) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 |
| DeflateAsync(Byte[], Int32, Int32) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 |
| DeflateAsync(Byte[]) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 |
| DeflateAsync(ByteBuffer, Int32) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 |
| DeflateAsync(ByteBuffer) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| End() |
關閉壓縮機並丟棄所有未處理的輸入。 |
| Equals(Object) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| Finish() |
呼叫時表示壓縮應以輸入緩衝區目前內容結束。 |
| Finished() |
若已到達壓縮資料輸出流的末端,則回傳為真。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| NeedsInput() |
若輸入緩衝區中無資料,則回傳真值。 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| Reset() |
重置 deflater,以便處理新的輸入資料集合。 |
| SetDictionary(Byte[], Int32, Int32) |
設定預設字典以進行壓縮。 |
| SetDictionary(Byte[]) |
設定預設字典以進行壓縮。 |
| SetDictionary(ByteBuffer) |
設定預設字典以進行壓縮。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetInput(Byte[], Int32, Int32) |
設定輸入資料進行壓縮。 |
| SetInput(Byte[]) |
設定輸入資料進行壓縮。 |
| SetInput(ByteBuffer) |
設定輸入資料進行壓縮。 |
| SetLevel(Int32) |
將壓縮等級設定為指定的值。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| SetStrategy(Int32) |
將壓縮策略設定為指定的值。 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
此類別提供使用熱門 ZLIB 壓縮函式庫的通用壓縮支援。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |