在使用ionic.zip和c#提取文件后解锁zip文件

本文关键字:文件 zip 提取 解锁 ionic | 更新日期: 2023-09-27 18:14:49

我尝试使用c#中使用ionic.zip解锁的zip中的文件

我使用

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

第一次它工作得很好,但然后我第二次尝试,我得到一个IO异常说文件被另一个用户使用。如何从当前进程中解锁该文件?

在使用ionic.zip和c#提取文件后解锁zip文件

我似乎无法在Ionic.Zip的参考文档中找到ExtractFileToDirectory。我确实在另一个StackOverflow问题中找到了一个同名的函数,"通过DotNetZip库以编程方式提取ZIP文件?"。如果这是你正在使用的实现,你可能需要在ZipFile上调用Dispose来关闭底层的文件流。

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

如果没有,请分享更多关于如何提取文件的细节。