gzip流的解压问题

gzip流的解压问题,第1张

引用:

如果有使用Zip.DecompressFile()方法去解压标准的ZIP文件,就会出现以下错误:

GZip 头中的幻数不正确。请确保正在传入 GZip 流。

此岁辩判外,使用Zip.CompressFile()方法也不能将多个文件放入一个ZIP包。

看来,FCL2.0还是不能处理标准的ZIP文件,我目前是使用第三方的ICSharpZipLib来处理ZIP文件

似乎发现都是用第三乎改灶裂方的库比较多

GZIP格式说明

http://hi.baidu.com/skyyzq/blog/item/366ecc1f66785f0b314e156f.html

面是对#ZipLib进行乱乎.net下的解压缩的方法的介绍。

1.BZip2

加入ICSharpCode.SharpZipLib.dll的引用,在#Develop的安装目录下的\SharpDevelop\bin目录下。然后在程数陪带序中使用using语薯芦句把BZip2

类库包含进来。

压缩:使用BZip2的静态方法Compress。

它的第一个参数是所要压缩的文件所代表的输入流,可以使用System.IO.File的静态方法OpenRead。

第二个参数是要建立的压缩文件所代表的输出流,可以使用System.IO.File的静态方法Create创建,压缩文件名是所要压缩文件的文件名

加上压缩后缀.bz(同样你也可以取其他的文件名)。

第三个参数是要压缩的块大小(一般为2048的整数)。

解压:使用BZip2的静态方法Decompress。

它的第一个参数是所要解压的压缩文件所代表的输入流,可以使用System.IO.File的静态方法OpenRead。

第二个参数是要建立的解压文件所代表的输出流,可以使用System.IO.File的静态方法Create创建,因为解压文件的文件名是去掉了压缩


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8157727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存