【发布时间】:2010-11-07 16:41:46
【问题描述】:
我只是在寻找一种使用 GZipStream 类压缩 GZip 文件中的多个文件的方法。有人知道怎么做吗?
【问题讨论】:
标签: .net gzipstream
我只是在寻找一种使用 GZipStream 类压缩 GZip 文件中的多个文件的方法。有人知道怎么做吗?
【问题讨论】:
标签: .net gzipstream
一般来说,gzip 格式不支持多个文件。传统上,在压缩结果之前使用 tar 捆绑多个文件;你可能想做类似的事情。
【讨论】:
gzip 文件格式是一种存档格式,它包含一个标题和一个目录,其中列出了存档中的所有压缩文件。 GZipStream 仅压缩写入流的数据。相当于存档中的一个文件,无法生成存档格式。
一个流行的解决方案是SharpZipLib,还有很多其他的。
【讨论】:
老话题,但可以帮助未来的读者。
我找到了这个解决方案 (here),它建议使用 GZipStream 本机类压缩/解压缩目录。
该示例使用 Directory.GetFiles 创建文件列表,但很容易更改这一点并使其适应您的需要。
注意:压缩后的文件不是gzip文件,可以被第三方软件打开,但它是你应用内部管理的一个很好的解决方案(我个人用它来通过网络传输我的应用补丁文件)。
【讨论】: