使用ionic.zip和C#解压缩文件后解锁zip文件

时间:2013-05-22 03:11:33

标签: c# zip

我尝试使用在C#

中使用ionic.zip解锁的zip中的文件

我是用

做的
 string zipToUnpack = filename;
 ExtractFileToDirectory(filename,appPath);

第一次它工作正常,但后来我再次尝试,我得到一个IO异常,说该文件已被其他用户使用。如何从当前进程中解锁此文件?

1 个答案:

答案 0 :(得分:3)

我似乎无法在Ionic.Zip's reference documentation中找到ExtractFileToDirectory。我确实在另一个StackOverflow问题"Extract a ZIP file programmatically by DotNetZip library?"中找到了一个具有相同名称的函数。如果这是您正在使用的实现,则可能需要在Dispose上调用ZipFile来关闭基础文件流。

public void ExtractFileToDirectory(string zipFileName, string outputDirectory)
{
     using (ZipFile zip = ZipFile.Read(zipFileName))
     {
         Directory.CreateDirectory(outputDirectory);
         zip.ExtractAll(outputDirectory,ExtractExistingFileAction.OverwriteSilently);
     }
}

如果没有,请分享有关如何提取文件的更多详细信息。