2015-01-06 94 views
0

我的代码zip文件中创建一个zip文件后一度如下在C#中添加文件到一个文件夹中的zip文件中

ZipArchive zip = ZipFile.Open(destToZip, ZipArchiveMode.Create); 
zip.CreateEntry("pubEd/"); 

string[] fileEntries = Directory.GetFiles(dirToZip); 
foreach (string fileName in fileEntries) 
    zip.CreateEntryFromFile(fileName,Path.GetFileName(fileName), CompressionLevel.Optimal); 

zip.Dispose(); 

在代码的第二行创建一个文件夹的名称pubEd在zip文件中。

在下一行我将文件添加到zip文件夹。

发生了什么是文件被直接添加到压缩文件。

我想将这些文件添加到我在zip中创建的目录中。

我该怎么做?

+0

也许退房http://www.icsharpcode.net/OpenSource/SharpZipLib/ – gmlacrosse

+0

也可以尝试用'using(){}'包装你的ZipArchive Zip ='代码,这样你就不必直接调用'Dispose()'方法 [ZipFileExtensions.CreateEntryFromFile MSDN](http://msdn.microsoft.com/zh-cn/library/hh485720%28v=vs.110%29.aspx) – MethodMan

回答

2

从外观上看,你会将Path.GetFileName(fileName)更改为"pubEd/" + Path.GetFileName(fileName)。并摆脱第二线。这只是基于我对文档的阅读。我没有真正尝试过。

相关问题