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\www
有folderA
,其中包含多个文件。
运行程序时,似乎提取成功,但文件不会出现在任何地方。可能导致这种情况的原因是什么?
答案 0 :(得分:2)
最好还包括硬盘驱动器号。
C:\服务器\ WWW
我测试了没有它,它的工作原理。它就像我加入“c:”时一样。但我不知道其中是否存在确定性行为。尝试在存储项目的硬盘驱动器分区的根目录中查找unziped文件夹。
修改强>
我咨询了DotNetZip spec,他们提到你可以提供一条相对路径。
将zip存档中的所有项目提取到文件系统中的指定路径。路径可以是相对的或完全合格的。
但他们没有提到如果你这样做会出现解压缩的文件。我的猜测是在答案的第一部分。我的测试项目存储在C:/ Users / ...上,解压缩的文件直接出现在C:。
的根目录中。