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

How to read a single file inside a folder inside a zip file with DotNetZip?

经过一些研究,我发现 DotNetZip 在读取 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 遍历 zip 文件的内容,然后找到您的文件。

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