ExtractAll后没出现文件?

时间:2013-11-09 13:19:04

标签: c# dotnetzip

using (ZipFile zip = ZipFile.Read("update.zip"))
{
   zip.ExtractAll("\\serv\\www", ExtractExistingFileAction.OverwriteSilently);
}

我正在使用上述内容尝试将update.zip提取到\serv\www。当我将它包含在try{} catch{}中时,不会抛出任何错误并且不会捕获异常。如果它与任何相关性,update.zip的结构是:

update.zip:
    folderA
        ONE.txt
        TWO.txt

\serv\wwwfolderA,其中包含多个文件。

运行程序时,似乎提取成功,但文件不会出现在任何地方。可能导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:2)

最好还包括硬盘驱动器号。

  

C:\服务器\ WWW

我测试了没有它,它的工作原理。它就像我加入“c:”时一样。但我不知道其中是否存在确定性行为。尝试在存储项目的硬盘驱动器分区的根目录中查找unziped文件夹。

修改

我咨询了DotNetZip spec,他们提到你可以提供一条相对路径。

  

将zip存档中的所有项目提取到文件系统中的指定路径。路径可以是相对的或完全合格的。

但他们没有提到如果你这样做会出现解压缩的文件。我的猜测是在答案的第一部分。我的测试项目存储在C:/ Users / ...上,解压缩的文件直接出现在C:。

的根目录中。