【问题标题】:Compressing and Decompressing Folders in C#在 C# 中压缩和解压缩文件夹
【发布时间】:2011-01-20 14:37:43
【问题描述】:

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

我可以以某种方式做到这一点,提供源文件夹名称和目标文件名来压缩具有层次结构的完整文件夹。我也需要对文件夹进行解压缩,反之亦然。 如果直接通过 C#/.net 无法实现,请推荐一些免费的 3rd 方。

【问题讨论】:

    标签: c# .net compression gzipstream


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      现在包含在 .NET 4.5 中,如果您不想使用非 microsoft 库。

      System.IO.Compression.ZipArchive Class

      【讨论】:

        【解决方案3】:

        GZip 只处理单个文件,这就是为什么在 *nix 下您最终必须先将它们归档到 TAR 文件中,然后再进行压缩。

        如果您需要多个文件/文件夹,则需要支持它的格式,例如 ZIP。

        你可能想看看:http://www.sharpdevelop.net/OpenSource/SharpZipLib/

        【讨论】:

          【解决方案4】:

          您可以改为查看this library

          【讨论】:

            【解决方案5】:

            看看DotNetZipLib.

            【讨论】:

              最近更新 更多