反正在斑点网邮编,我可以用它来列出文件的所有名称在一个特定的目录?例如,我可以指定Directory1,然后获得文件3和文件4等

ZipFile
-------

File1
File2
Directory1
     File3
     File4
Directory2
     File5
     File6

的ZipFile对象具有唯一的条目,条目排序,和条目文件名...

任何?, Cheeso? :)

有帮助吗?

解决方案

没有,是的。没有EntriesInDirectory集合。然而,这是字符串比较简单的事情,选择条目“属于”在一个特定的目录中。

在LINQ它看起来像这样:

var selection = from e in zip.Entries 
    where e.FileName.StartsWith(directoryName)
    select e;

在for循环中,它看起来像这样:

var list = new List<ZipEntry>();
foreach (var e in zip.Entries) {
  if (e.FileName.StartsWith(directoryName)) {
    list.Add(e);
  }
}

修改

您可能需要对大小写做转换。在Windows中,情况是不是在文件名有意义。

另外说明:zip格式不把在zip文件中一个的目录条目作为容器。有目录条目和文件的条目之间没有关系的容器。只有这样,才能判断一个文件条目“中属于”特定的目录是检查文件条目的全名。如果输入的名称与有关目录的名称开头,则该条目是“中”的目录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top