c# - 通过 DotNetZip 库以编程方式提取 ZIP 文件?

标签 c# zip extract dotnetzip

我有一个函数可以获取一个 ZIP 文件并将其解压到一个目录中 (我使用 DotNetZip 库。)

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

我的 ZIP 文件包含多个文件和目录。但我只想提取 其中一些文件,而不是全部文件。

我怎样才能让它工作?

最佳答案

您需要测试每个 ZipEntry查看是否要提取它:

public void ExtractFileToDirectory(string zipFileName, string outputDirectory)
{
     ZipFile zip = ZipFile.Read(zipFileName);
     Directory.CreateDirectory(outputDirectory);
      foreach (ZipEntry e in zip)
      {
        // check if you want to extract e or not
        if(e.FileName == "TheFileToExtract") 
          e.Extract(outputDirectory, ExtractExistingFileAction.OverwriteSilently);
      }
}

关于c# - 通过 DotNetZip 库以编程方式提取 ZIP 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2324626/

相关文章:

email - 从电子邮件帐户获取联系人

javascript - 从 contentEditable div 的容器中获取样式

c# - 策略模式 - 多种返回类型/值

c# - 使用C#生成正态分布图

c# - AppDomain.CreateInstanceFromAndUnwrap - 无法转换透明代理

bash - 不能在循环的shell脚本中使用带空格的文件名

c# - 网页有时无法使用 SSL 连接到其他 url

python - 在 Clojure 中处理来自两个序列的值对

linux - 如何压缩不符合特定条件的文件?

java - 如何提取HTML标签以仅获取某些信息?