在C#中压缩和解压缩文件夹

时间:2011-01-20 14:37:44

标签: c# .net compression gzipstream

我想使用C#压缩和解压缩文件夹。 GZipStream的问题在于它需要文件名,因此我需要编写一个递归逻辑。

我可以以某种方式这样做,提供源文件夹名称和目标文件名来压缩具有层次结构的完整文件夹。我还需要反过来压缩文件夹。 如果不能直接通过C#/ .net请建议一些免费的第三方。

5 个答案:

答案 0 :(得分:8)

我多次使用免费SharpZipLib,我建议你看一下。它非常易于使用,并且适用于我的所有用例。

答案 1 :(得分:3)

现在包含在.NET 4.5中,如果您宁愿远离非Microsoft软件库。

System.IO.Compression.ZipArchive Class

答案 2 :(得分:2)

GZip只处理单个文件,这就是为什么在* nix下你最终必须先将它们存档到一个TAR文件然后被压缩。

如果你想要多个文件/文件夹,你需要一种支持它的格式,比如ZIP。

您可能希望查看:http://www.sharpdevelop.net/OpenSource/SharpZipLib/

答案 3 :(得分:1)

您可以改为查看this library

答案 4 :(得分:0)

看一下DotNetZip Lib。