【问题标题】:Extracting a specific folder from a zip using DotNetZip使用 DotNetZip 从 zip 中提取特定文件夹
【发布时间】:2011-06-14 20:59:36
【问题描述】:

我搜索了一些示例,但似乎找不到涉及提取某个文件夹的 DotNetZip 场景。我正在尝试从 .zip 文件中提取一个名为“CSS”的文件夹,它是 .zip 文件中的顶级文件夹。这是我到目前为止的代码:

using (ZipFile zip1 = ZipFile.Read(savedFileName))
{
    var selection = from e in zip1.Entries
                    where System.IO.Path.GetFileName(e.FileName).StartsWith("CSS/")
                    select e;

    foreach (var e in selection)
    e.Extract(_contentFolder);                
}

当前选择什么都没有,我可以使用一些帮助重写它,以便提取 css 文件夹及其所有子目录和文件。

【问题讨论】:

    标签: c# linq dotnetzip


    【解决方案1】:

    试试这个:

    var entries = zip.SelectEntries("*", @"folder1\folder2\");
    foreach (var file in entries)
    {/* extract here */}
    

    我认为这是最好的方法。

    【讨论】:

      【解决方案2】:

      这对我有用。

                public void ExtractFiles(string fileName, string outputDirectory)
                {
                      using (ZipFile zip1 = ZipFile.Read(fileName))
                      {
                          var selection = (from e in zip1.Entries
                                           where (e.FileName).StartsWith("CSS/")
                                           select e);
      
      
                          Directory.CreateDirectory(outputDirectory);
      
                          foreach (var e in selection)
                          {                            
                              e.Extract(outputDirectory);        
                          }
                      }
               }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-10
        • 2022-01-24
        • 2011-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多