经过一些研究,我发现 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 遍历 zip 文件的内容,然后找到您的文件。
using (ZipFile zip = ZipFile.Read(modPath))
{
ZipEntry e;
foreach (ZipEntry k in zip)
{
if (k.FileName.Contains("info.json"))
{
e = k;
break;
}
}
}
关于c# - 如何使用 DotNetZip 读取 zip 文件内文件夹内的单个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42464117/