我想将可以包含任意数量子目录的整个目录压缩到一个 ZIP 文件中。
我能够以编程方式将单个文件压缩成一个 zip 文件。
要压缩整个目录,我可以想到一个遍历每个子目录并压缩它的递归程序。
但是有没有什么简单的方法可以使用类似的代码压缩整个文件夹,而无需编写任何递归函数?
最佳答案
使用 DotNetZip ,ZipFile 类上有一个 AddDirectory() 方法可以执行您想要的操作:
using (var zip = new Ionic.Zip.ZipFile())
{
zip.AddDirectory("DirectoryOnDisk", "rootInZipFile");
zip.Save("MyFile.zip");
}
这个例子和许多其他例子是 available on codeplex .
关于c# - 如何以编程方式将目录压缩为 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2498572/