我正在使用c#fw4.5。 我有一个简单的代码解压zip文件。c#提取目录下的zip文件
foreach(ZipArchiveEntry entry in z.entries) //z is a zip file open in ZipArchiveMode.Read
{
entry.ExtractToFile(entry.FullName);
}
zip文件里面有一个目录,所有文件都在该目录内。 当我看到z.Entries时,我看到它的一个数组,其中[0]只是目录,[1],[2],[3]是文件。 但是当它尝试做:
entry.ExtractToFile(entry.FullName);
在第一个条目上,出现错误: “文件名,目录名称或卷标语法不正确”。
我似乎无法找出最新的错误。我是否也需要任何东西来打开目录?也许因为条目是一个目录只有“ExtractToFile(entry.FullName)”不能工作?
谢谢先进。
当你运行它时,entry.FullName的值是什么?我的猜测是它是一个invliad绝对路径,或者它展开到一个无效的相对路径。根据ZipArchiveEntry.ExtractToFile()的文档,“允许路径指定相对或绝对路径信息,相对路径信息被解释为相对于当前工作目录。” – Taegost