2017-02-26 111 views
1

經過一番研究,我發現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

回答

1

您可以遍歷的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

像...你的意思是在拉鍊裏面? –

相關問題