如何压缩加载到内存中的文件而不将其保存到文件中?

时间:2013-10-20 15:42:40

标签: c# wpf

我必须在项目中构建一个组件,在将文件保存到数据库之前对其进行归档。

您有任何算法建议,还是推荐第三方?

我尝试了msdn.microsoft.com/en-us/library/ms404280.aspx中的示例,但我更愿意将文件内容归档到内存中,而不是先将其保存到文件中

3 个答案:

答案 0 :(得分:3)

Microsoft已经包含了使用ZipFile Class

在.Net 4.5中压缩文件的功能

如果你有一个文件目录

,可以通过调用CreateFromDirectory方法来完成

答案 1 :(得分:2)

DotNetZip是一个非常有用的库。

http://dotnetzip.codeplex.com/

使用起来非常简单。只需查看给定的示例。

答案 2 :(得分:1)

您也可以使用ICSharpCode.SharpZipLib。它是一个open-source库,也可以Nuget的形式提供。这也适用于Mono。

如果您使用的是.NET 4.5,则System.IO.Compression具有ZipFile

注意:如果您使用的是Mono,那么ZipFile类将无法正常工作,因为它尚未实现。所以您必须依赖ICSharpCode.SharpZipLib