如何用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得到名称
答
您可以遍历的zip文件的内容,然后找到你的文件。
using (ZipFile zip = ZipFile.Read(modPath))
{
ZipEntry e;
foreach (ZipEntry k in zip)
{
if (k.FileName.Contains("info.json"))
{
e = k;
break;
}
}
}
但问题是,我需要循环通过多个zip文件(结构相同)。我做了一段代码,可以完成文件夹名称,但它具有相同的结果(未找到条目) –
您可以添加文件夹的屏幕截图。 –
像...你的意思是在拉链里面? –