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

时间:2017-02-26 02:39:01

标签: c# dotnetzip

经过一番研究,我发现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
}

我在这里忽略了什么吗?

编辑:添加循环以获取名称

Inside a zip

1 个答案:

答案 0 :(得分:2)

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

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