如何用DotNetZip读取zip文件内的文件夹内的单个文件?

问题描述:

经过一番研究,我发现DotNetZip在读取zip文件中的文件时非常容易使用。可悲的是,我遇到了一个小问题。如何用DotNetZip读取zip文件内的文件夹内的单个文件?

我的zip文件中设置这样的:

  • 顶层:zip文件本身。
  • 第二层:与zip文件名称相同的文件夹。
  • 第三层:数据(包括需要的文件)。

使用下面的代码,我一直在它跌跌撞撞没有找到一个条目

using (ZipFile zip = ZipFile.Read(modPath)) 
{ 
    string[] temp1 = modPath.Split('\\'); 
    string mod = temp1[temp1.Length - 1]; 

    mod = mod.Remove(mod.Length - 6); 

    string modinfo = @mod + "/info.json"; 

    ZipEntry e = zip[modinfo]; // No entry found here 
} 

我在这里可以俯瞰什么?

编辑:增加了循环使用的foreach得到名称

Inside a zip

您可以遍历的zip文件的内容,然后找到你的文件。

  using (ZipFile zip = ZipFile.Read(modPath)) 
      { 
       ZipEntry e; 
       foreach (ZipEntry k in zip) 
       { 
        if (k.FileName.Contains("info.json")) 
        { 
         e = k; 
         break; 
        } 
       } 
      } 
+0

但问题是,我需要循环通过多个zip文件(结构相同)。我做了一段代码,可以完成文件夹名称,但它具有相同的结果(未找到条目) –

+0

您可以添加文件夹的屏幕截图。 –

+0

像...你的意思是在拉链里面? –