『壹』 gzip流的解壓問題
引用:
如果有使用Zip.DecompressFile()方法去解壓標準的ZIP文件,就會出現以下錯誤:
GZip 頭中的幻數不正確。請確保正在傳入 GZip 流。
此外,使用Zip.CompressFile()方法也不能將多個文件放入一個ZIP包。
看來,FCL2.0還是不能處理標準的ZIP文件,我目前是使用第三方的ICSharpZipLib來處理ZIP文件
似乎發現都是用第三方的庫比較多
GZIP格式說明
http://hi..com/skyyzq/blog/item/366ecc1f66785f0b314e156f.html
『貳』 c# deflatestream gzipstream 區別
DeflateStream 類
注意:此類在 .NET Framework 2.0 版中是新增的。
提供用於使用 Deflate 演算法壓縮和解壓縮流的方法和屬性。
此類表示 Deflate 演算法,這是無損壓縮和解壓縮文件的行業標准演算法。它結合了 LZ77 演算法和霍夫曼編碼。只能使用以前綁定的中間存儲量來產生或使用數據,即使對於任意長度的、按順序出現的輸入數據流也是如此。這種格式可以通過不涉及專利使用權的方式輕松實現。有關更多信息,請參見 RFC 1951「DEFLATE Compressed Data Format Specification version 1.3」(Deflate 壓縮數據格式規范版本 1.3)。此類不能用於壓縮大於 4 GB 的文件。
GZipStream 類
注意:此類在 .NET Framework 2.0 版中是新增的。
提供用於壓縮和解壓縮流的方法和屬性。
此類表示 GZip 數據格式,它使用無損壓縮和解壓縮文件的行業標准演算法。這種格式包括一個檢測數據損壞的循環冗餘校驗值。GZip 數據格式使用的演算法與 DeflateStream 類的演算法相同,但它可以擴展以使用其他壓縮格式。這種格式可以通過不涉及專利使用權的方式輕松實現。gzip 的格式可以從 RFC 1952「GZIP file format specification 4.3(GZIP 文件格式規范 4.3)GZIP file format specification 4.3(GZIP 文件格式規范 4.3)」中獲得。此類不能用於壓縮大於 4 GB 的文件。
『叄』 求教啊,一個關於GZipStream類解壓的問題
右鍵點擊壓縮文件選解壓文件。
點確定直接解壓出一個文件夾。
裡面就是你現成的可用的東西,所有軟體都是這樣解壓的。
『肆』 C# 中GZIP 壓縮,求在JAVA中解壓代碼
byte[] buf = new byte[4096*2];
//建立位元組數組輸入流
ByteArrayInputStream i = new ByteArrayInputStream(buffer);
//建立gzip解壓輸入流
GZIPInputStream gzin = new GZIPInputStream(i);
int size = gzin.read(buf);
i.close();
gzin.close();
byte b[] = new byte[size];
System.array(buf,0,b,0,size);
return b;