我尝试在 C# 中使用 ionic.zip 解锁的 zip 中的文件
我使用
来做到这一点 string zipToUnpack = filename;
ExtractFileToDirectory(filename,appPath);
第一次工作正常,但第二次尝试时,出现 IO 异常,表示该文件已被其他用户使用。如何从当前进程中解锁该文件?
我似乎无法在
Ionic.Zip 的参考文档中找到
ExtractFileToDirectory
。我确实在另一个 StackOverflow 问题中找到了一个同名的函数,“通过 DotNetZip 库以编程方式提取 ZIP 文件?”。如果这是您正在使用的实现,您可能需要在 Dispose
上调用 ZipFile
来关闭底层文件流。
public void ExtractFileToDirectory(string zipFileName, string outputDirectory)
{
using (ZipFile zip = ZipFile.Read(zipFileName))
{
Directory.CreateDirectory(outputDirectory);
zip.ExtractAll(outputDirectory,ExtractExistingFileAction.OverwriteSilently);
}
}
如果没有,请分享有关如何提取文件的更多详细信息。
public void ExtractFileToDirectory(string zipFileName, string outputDirectory) { using (ZipFile zip = ZipFile.Read(zipFileName)) { Directory.CreateDirectory(outputDirectory); } zip.ExtractAll(outputDirectory,ExtractExistingFileAction.OverwriteSilently); zip.保存; } }