2011-05-11 19 views
2

This MSDN网站有一个gzip文件示例。那么,我怎么可以用一个子目录来整个目录呢?Gzip一个使用C#使用GZipStream类的子目录的目录?

+1

可能重复[如何压缩与.net压缩类内置的目录?](http://stackoverflow.com/questions/900031/how-to-compress-a-directory-with-the-built -in-net-compression-classes) – Kev 2011-05-11 16:36:43

+0

另外,请参阅:http://stackoverflow.com/questions/1001711/how-do-i-compress-a-file-with-gzipstream-and-maintain-meta-data- about-the-origina – Kev 2011-05-11 16:37:10

回答

2

由于gzip只适用于文件,我建议你tar你的目录,然后gzip生成的tar文件。

您可以使用tar-csSharpZipLib来生成您的tar文件。

0

你不能!

的GZip是为文件中创建,而不是目录:)

+2

+1。然而,你可以做一些事情,比如说创建一个tarball,然后用gzip来获取一个* .tar.gz文件。或者只是用DotNetZip(http://dotnetzip.codeplex.com/) – 2011-05-11 16:41:47

0

的gzip在simgle流进行操作。要使用gzipstream创建多流(多文件)归档文件,您需要包含自己的索引。基本上,最简单的方法是将文件偏移量写入输出流的开始位置,然后在读入时知道边界的位置。这种方法不会与PKZIP兼容。为了兼容,你将不得不阅读和实现ZIP格式...或使用类似SharpZip或Zip.NET

相关问题