我正在尝试使用DotNetZip在C#.NET中创建一个zip文件。但是,我确实需要不时包含空文件夹。这可能吗?是否有任何技巧可以实现?
答案 0 :(得分:5)
有一个AddDirectory函数:
zipFile.AddDirectory("\\Your\Directory\Path\");
我认为空目录必须已存在于您正在压缩的位置,因此您可能需要首先在服务器上创建空目录。 Here是一些例子。
答案 1 :(得分:0)
McCee的解决方案对我来说并不适合。然而,这确实:
首先,我们将文件路径中的所有空目录转换为zip。然后我们使用AddDirectoryByName将它附加到zip对象,即
foreach (var folder in Directory.GetDirectories(pathOfFilesToZip).Where(x => !Directory.EnumerateFileSystemEntries(x).Any()))
{
zip.AddDirectoryByName(Path.GetFileName(folder));
}