通过DotNetZip库以编程方式提取ZIP文件? [英] Extract a ZIP file programmatically by DotNetZip library?

查看:94
本文介绍了通过DotNetZip库以编程方式提取ZIP文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a function that get a ZIP file and extract it to a directory (I use DotNetZip library.)

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

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

My ZIP file contains multiple files and directories. But I want to extract only some of these files, not all of them.

我如何进行这项工作?

推荐答案

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

You need to test each ZipEntry to see if you want to extract it:

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

ZipFile zip = ZipFile.Read(zipFileName); //Runs in framework 4.5

这篇关于通过DotNetZip库以编程方式提取ZIP文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆