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- 壓縮演算法的壓縮方法(目前唯一支持的壓縮方法)。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() | 重置deflater,以便可以處理一組新的輸入數據。 |
| 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
