我尝试使用在C#
中使用ionic.zip解锁的zip中的文件我是用
做的 string zipToUnpack = filename;
ExtractFileToDirectory(filename,appPath);
第一次它工作正常,但后来我再次尝试,我得到一个IO异常,说该文件已被其他用户使用。如何从当前进程中解锁此文件?
答案 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);
}
}
如果没有,请分享有关如何提取文件的更多详细信息。