如何使用C#解压压缩文件?

如何使用C#解压压缩文件?,c#,zip,C#,Zip,如何使用C#解压文件?我发现我必须使用第三方库。有直接方法吗?名称空间包含一些压缩类,例如,但它们绝不像使用第三方库那样简单。我强烈建议你考虑一个第三方库。 你在寻找吗? 你可以使用框架的工具来解压缩,然后解压缩 有很多竞争图书馆在网上,有些是免费的,有些是商业性的。 一个伟大的免费库是#Zip,或者说是免费C#IDE的创建者#develope .NET Framework 2.0引入了GZipStream和deflatesttream类,用于流的压缩和解压缩。以下是MSDN的链接: 我很幸运

如何使用C#解压文件?我发现我必须使用第三方库。有直接方法吗?

名称空间包含一些压缩类,例如,但它们绝不像使用第三方库那样简单。我强烈建议你考虑一个第三方库。

你在寻找吗?

你可以使用框架的工具来解压缩,然后解压缩

有很多竞争图书馆在网上,有些是免费的,有些是商业性的。 一个伟大的免费库是#Zip,或者说是免费C#IDE的创建者#develope

.NET Framework 2.0引入了GZipStream和deflatesttream类,用于流的压缩和解压缩。以下是MSDN的链接:


我很幸运能从Codeplex免费下载。它的拉链和解扣非常快,工作良好,体积小。它也适用于Mono。

对于文件,效果非常好。zip文件支持只需要一个程序集

对于文件,可以使用或中的流。请注意,如果您有
*.tar.gz
*.tgz
文件,您将需要一些既能说话又能说话的文件

对于压缩数据,您又是朋友了。使用Deflate算法。不过,我不确定zlib和zlib是否兼容

还有其他库支持这些压缩格式,但我相信,其中许多库都是非托管代码的包装器。这是好事还是坏事取决于你的要求

DotNetZip是纯托管代码。我的测试表明,它的运行速度与实现的速度大致相同。生成的压缩文件不是字节相同的,但它们是兼容的,并且具有大致相同的压缩比


编辑说明:DotNetZip过去住在Codeplex。Codeplex已经关闭。旧档案馆仍然保存着。代码似乎已迁移到Github:

  • 。看起来是原作者的回购协议
  • 。这看起来是当前维护的版本。它还打包了一个可通过Nuget在

NET 4.5有一个更有用的ZipPackage类


它仍然不太容易使用,类文档中的示例代码相当长。

可能重复的不同意投票以作为一个确切的dup来结束此操作,因为在这个问题上似乎略有不同(推荐系统库与推荐外部库)即使答案最终是重叠的。#ZipLib的+1……已经存在了很久,仍然在各地使用。好东西…url是