日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

deflater java_java.util.zip 类 Deflater - Java 中文参考手册

發布時間:2024/7/23 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 deflater java_java.util.zip 类 Deflater - Java 中文参考手册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java.lang.Object

java.util.zip.Deflater

public class Deflaterextends Object

此類使用流行的 ZLIB 壓縮程序庫為通用壓縮提供支持。ZLIB 壓縮程序庫最初是作為 PNG 圖形標準的一部分開發的,不受專利的保護。有關該規范的完整描述,請參見 java.util.zip 包描述。

以下代碼片段演示使用 Deflater 和 Inflater 壓縮和解壓縮字符串的詳細過程。

// 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);

// 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");

另請參見:Inflater

字段摘要

staticint

BEST_COMPRESSION

最佳壓縮的壓縮級別。

staticint

BEST_SPEED

最快壓縮的壓縮級別。

staticint

DEFAULT_COMPRESSION

默認壓縮級別。

staticint

DEFAULT_STRATEGY

默認壓縮策略。

staticint

DEFLATED

deflate 算法(當前支持的惟一算法)的壓縮方法。

staticint

FILTERED

最適用于主要由小值組成并具有某種程度隨意分布的數據的壓縮策略。

staticint

HUFFMAN_ONLY

僅適用于 Huffman 編碼的壓縮策略。

staticint

NO_COMPRESSION

無壓縮的壓縮級別。

構造方法摘要

Deflater()

使用默認壓縮級別創建新的壓縮器。

Deflater(intlevel)

使用指定壓縮級別創建新的壓縮器。

Deflater(intlevel,

booleannowrap)

使用指定壓縮級別創建新的壓縮器。

方法摘要

int

deflate(byte[]b)

使用壓縮數據填充指定緩沖區。

int

deflate(byte[]b,

intoff,

intlen)

使用壓縮數據填充指定緩沖區。

void

end()

關閉解壓縮器并放棄所有未處理的輸入。

protected void

finalize()

回收垃圾時關閉壓縮器。

void

finish()

調用時,指示壓縮應當以輸入緩沖區的當前內容結尾。

boolean

finished()

如果已到達壓縮數據輸出流的結尾,則返回 true。

int

getAdler()

返回未壓縮數據的 ADLER-32 值。

long

getBytesRead()

返回到目前為止輸入未壓縮字節的總數。

long

getBytesWritten()

返回到目前為止輸出壓縮字節的總數。

int

getTotalIn()

返回到目前為止輸入未壓縮字節的總數。

int

getTotalOut()

返回到目前為止輸出壓縮字節的總數。

boolean

needsInput()

如果輸入數據緩沖區為空,并且應調用 setInput() 以提供更多輸入,則返回 true。

void

reset()

重置 deflater 以處理新的輸入數據集合。

void

setDictionary(byte[]b)

為壓縮預置字典。

void

setDictionary(byte[]b,

intoff,

intlen)

為壓縮設置預置字典。

void

setInput(byte[]b)

為壓縮設置輸入數據。

void

setInput(byte[]b,

intoff,

intlen)

為壓縮設置輸入數據。

void

setLevel(intlevel)

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

void

setStrategy(intstrategy)

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

從類 java.lang.Object 繼承的方法

clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段詳細信息

DEFLATED

public static final int DEFLATED

deflate 算法(當前支持的惟一算法)的壓縮方法。

另請參見:常量字段值

NO_COMPRESSION

public static final int NO_COMPRESSION

無壓縮的壓縮級別。

另請參見:常量字段值

BEST_SPEED

public static final int BEST_SPEED

最快壓縮的壓縮級別。

另請參見:常量字段值

BEST_COMPRESSION

public static final int BEST_COMPRESSION

最佳壓縮的壓縮級別。

另請參見:常量字段值

DEFAULT_COMPRESSION

public static final int DEFAULT_COMPRESSION

默認壓縮級別。

另請參見:常量字段值

FILTERED

public static final int FILTERED

最適用于主要由小值組成并具有某種程度隨意分布的數據的壓縮策略。強制使用較多的 Huffman 編碼和較少的字符串匹配。

另請參見:常量字段值

HUFFMAN_ONLY

public static final int HUFFMAN_ONLY

僅適用于 Huffman 編碼的壓縮策略。

另請參見:常量字段值

DEFAULT_STRATEGY

public static final int DEFAULT_STRATEGY

默認壓縮策略。

另請參見:常量字段值

構造方法詳細信息

Deflater

public Deflater(intlevel,

booleannowrap)

使用指定壓縮級別創建新的壓縮器。如果 ‘nowrap’ 為 true,則不使用 ZLIB 頭和校驗和字段,以便支持在 GZIP 和 PKZIP 中使用的壓縮格式。

參數:level – 壓縮級別 (0-9)nowrap – 如果為 true ,則使用 GZIP 兼容的壓縮

Deflater

public Deflater(intlevel)

使用指定壓縮級別創建新的壓縮器。壓縮的數據將以 ZLIB 格式生成。

參數:level – 壓縮級別 (0-9)

Deflater

public Deflater()

使用默認壓縮級別創建新的壓縮器。壓縮的數據將以 ZLIB 格式生成。

方法詳細信息

setInput

public void setInput(byte[]b,

intoff,

intlen)

為壓縮設置輸入數據。此方法應該在 needsInput() 返回 true 時調用,以指示需要更多的輸入數據。

參數:b – 輸入數據字節off – 數據的初始偏移量len – 數據的長度另請參見:needsInput()

setInput

public void setInput(byte[]b)

為壓縮設置輸入數據。此方法應該在 needsInput() 返回 true 時調用,以指示需要更多的輸入數據。

參數:b – 輸入數據字節另請參見:needsInput()

setDictionary

public void setDictionary(byte[]b,

intoff,

intlen)

為壓縮設置預置字典。預置字典在歷史緩沖區可預定時使用。當以后使用 Inflater.inflate() 取消壓縮數據時,可以調用 Inflater.getAdler() 來獲取解壓縮所需字典的 Adler-32 值。

參數:b – 字典數據字節off – 數據的初始偏移量len – 數據的長度另請參見:Inflater.inflate(byte[], int, int),

Inflater.getAdler()

setDictionary

public void setDictionary(byte[]b)

為壓縮預置字典。預置字典在歷史緩沖區可預定時使用。當以后使用 Inflater.inflate() 取消壓縮數據時,可以調用 Inflater.getAdler() 來獲取解壓縮所需字典的 Adler-32 值。

參數:b – 字典數據字節另請參見:Inflater.inflate(byte[], int, int),

Inflater.getAdler()

setStrategy

public void setStrategy(intstrategy)

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

參數:strategy – 新的壓縮策略拋出:IllegalArgumentException – 如果壓縮策略無效

setLevel

public void setLevel(intlevel)

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

參數:level – 新的壓縮級別 (0-9)拋出:IllegalArgumentException – 如果壓縮級別無效

needsInput

public boolean needsInput()

如果輸入數據緩沖區為空,并且應調用 setInput() 以提供更多輸入,則返回 true。

返回:如果輸入數據緩沖區為空,并且應調用 setInput() 以提供更多輸入,則返回 true

finish

public void finish()

調用時,指示壓縮應當以輸入緩沖區的當前內容結尾。

finished

public boolean finished()

如果已到達壓縮數據輸出流的結尾,則返回 true。

返回:如果已到達壓縮數據輸出流的結尾,則返回 true

deflate

public int deflate(byte[]b,

intoff,

intlen)

使用壓縮數據填充指定緩沖區。返回壓縮數據的實際字節數。返回值為 0 指示應調用 needsInput() 來確定是否需要更多的輸入數據。

參數:b – 壓縮數據的緩沖區off – 數據的初始偏移量len – 壓縮數據的最大字節數返回:壓縮數據的實際字節數

deflate

public int deflate(byte[]b)

使用壓縮數據填充指定緩沖區。返回壓縮數據的實際字節數。返回值為 0 指示應調用 needsInput() 來確定是否需要更多的輸入數據。

參數:b – 壓縮數據的緩沖區返回:壓縮數據的實際字節數

getAdler

public int getAdler()

返回未壓縮數據的 ADLER-32 值。

返回:未壓縮數據的 ADLER-32 值

getTotalIn

public int getTotalIn()

返回到目前為止輸入未壓縮字節的總數。

由于該字節數可能大于 Integer.MAX_VALUE,因此 getBytesRead() 方法現在是獲取此信息的首選方法。

返回:到目前為止輸入未壓縮字節的總數

getBytesRead

public long getBytesRead()

返回到目前為止輸入未壓縮字節的總數。

返回:到目前為止輸入未壓縮字節的總數(非負)

getTotalOut

public int getTotalOut()

返回到目前為止輸出壓縮字節的總數。

由于該字節數可能大于 Integer.MAX_VALUE,因此 getBytesWritten() 方法現在是獲取此信息的首選方法。

返回:到目前為止輸出壓縮字節的總數

getBytesWritten

public long getBytesWritten()

返回到目前為止輸出壓縮字節的總數。

返回:到目前為止輸出壓縮字節的總數(非負)

reset

public void reset()

重置 deflater 以處理新的輸入數據集合。保持當前壓縮級別和策略設置。

end

public void end()

關閉解壓縮器并放棄所有未處理的輸入。此方法應該在不再使用該壓縮器時調用,但是也可以由 finalize() 方法自動調用。調用此方法后,Deflater 對象的行為將是不確定的。

finalize

protected void finalize()

回收垃圾時關閉壓縮器。

覆蓋:類 Object 中的 finalize

總結

以上是生活随笔為你收集整理的deflater java_java.util.zip 类 Deflater - Java 中文参考手册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。