java.util.zip - Deflater 類



介紹

java.util.zip.Deflater 類使用流行的 ZLIB 壓縮庫提供對通用壓縮的支援。ZLIB 壓縮庫最初是作為 PNG 影像標準的一部分開發的,不受專利保護。在 java.util.zip 包說明中的規範中對其進行了完整描述。

類宣告

以下是java.util.zip.Deflater 類的宣告:

public class Deflater
   extends Object

欄位

以下是java.util.zip.Deflater 類的欄位:

  • static int BEST_COMPRESSION − 最佳壓縮的壓縮級別。

  • static int BEST_SPEED − 最快壓縮的壓縮級別。

  • static int DEFAULT_COMPRESSION − 預設壓縮級別。

  • static int DEFAULT_STRATEGY − 預設壓縮策略。

  • static int DEFLATED − deflate 演算法的壓縮方法(當前唯一支援的方法)。

  • static int FILTERED − 最適合用於主要由具有某種隨機分佈的小值組成的資料的壓縮策略。

  • static int FULL_FLUSH − 用於重新整理所有待處理輸出並重置解壓縮器的壓縮重新整理模式。

  • static int HUFFMAN_ONLY − 僅用於霍夫曼編碼的壓縮策略。

  • static int NO_COMPRESSION − 無壓縮的壓縮級別。

  • static int NO_FLUSH − 用於實現最佳壓縮結果的壓縮重新整理模式。

  • static int SYNC_FLUSH − 用於重新整理所有待處理輸出的壓縮重新整理模式;可能會降低某些壓縮演算法的壓縮率。

建構函式

序號 建構函式和說明
1

Deflater()

使用預設壓縮級別建立一個新的壓縮器。

2

Deflater(int level)

使用指定的壓縮級別建立一個新的壓縮器。

3

Deflater(int level, boolean nowrap)

使用指定的壓縮級別建立一個新的壓縮器。

類方法

序號 方法和說明
1 int deflate(byte[] b)

壓縮輸入資料並將壓縮資料填充到指定的緩衝區中。

2 int deflate(byte[] b, int off, int len)

壓縮輸入資料並將壓縮資料填充到指定的緩衝區中。

3 int deflate(byte[] b, int off, int len, int flush)

壓縮輸入資料並將壓縮資料填充到指定的緩衝區中。

4 void end()

關閉壓縮器並丟棄任何未處理的輸入。

5 void finish()

呼叫時,表示壓縮應以輸入緩衝區的當前內容結束。

6 boolean finished()

如果已到達壓縮資料輸出流的末尾,則返回 true。

7 int getAdler()

返回未壓縮資料的 ADLER-32 值。

8 long getBytesRead()

返回迄今為止輸入的未壓縮位元組總數。

9 long getBytesWritten()

返回迄今為止輸出的壓縮位元組總數。

10 int getTotalIn()

返回迄今為止輸入的未壓縮位元組總數。

11 int getTotalOut()

返回迄今為止輸出的壓縮位元組總數。

12 boolean needsInput()

如果輸入資料緩衝區為空並且應該呼叫 setInput() 以提供更多輸入,則返回 true。

13 void reset()

重置解壓縮器,以便可以處理新的輸入資料。

14 void setDictionary(byte[] b)

設定壓縮的預設字典。

15 void setDictionary(byte[] b, int off, int len)

設定壓縮的預設字典。

16 void setInput(byte[] b)

設定壓縮的輸入資料。

17 void setInput(byte[] b, int off, int len)

設定壓縮的輸入資料。

18 void setLevel(int level)

將當前壓縮級別設定為指定值。

19 void setStrategy(int strategy)

將壓縮策略設定為指定值。

繼承的方法

此類繼承自以下類的方法:

  • java.lang.Object
廣告