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

问题描述 投票:0回答:2

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

我使用

来做到这一点
 string zipToUnpack = filename;
 ExtractFileToDirectory(filename,appPath);

第一次工作正常,但第二次尝试时,出现 IO 异常,表示该文件已被其他用户使用。如何从当前进程中解锁该文件?

c# zip
2个回答
4
投票

我似乎无法在

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);
     }
}

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.