8

我只是在寻找一种使用 GZipStream 类压缩 GZip 文件中的多个文件的方法。有人知道怎么做吗?

4

3 回答 3

8

一般来说,gzip 格式不支持多个文件。传统上,在压缩结果之前使用 tar 捆绑多个文件;你可能想做类似的事情。

于 2010-11-07T16:45:26.137 回答
3

gzip 文件格式是一种存档格式,它包含一个标题和一个目录,其中列出了存档中的所有压缩文件。GZipStream 仅压缩写入流的数据。相当于存档中的一个文件,它无法生成存档格式。

一个流行的解决方案是SharpZipLib,还有很多其他的。

于 2010-11-07T16:51:10.530 回答
0

老话题,但可以帮助未来的读者。

我找到了这个解决方案(here),它建议使用 GZipStream 本机类压缩/解压缩目录。

该示例使用 Directory.GetFiles 创建文件列表,但很容易更改这一点并使其适应您的需要。

注意:压缩后的文件不是gzip文件,第三方软件可以打开,但是对于你的应用内部管理来说是一个很好的解决方案(我个人用它来通过网络传输我的应用补丁文件)。

于 2013-04-09T11:43:26.827 回答