枚举特定文件夹DotNetZip的内容,没有子文件夹

时间:2015-12-15 19:19:12

标签: c# dotnetzip

使用Ionic.Zip

我希望在特定文件夹中显示文件或文件夹。我正在使用SelectEntries方法,但不幸的是过滤掉了文件夹。不是我期望使用'*'。

#!/bin/bash
sources="**/src/TESTS/A.java **/src/TESTS/B.java"
if [[ $sources == *"A.java"* ]]
then
echo "Found!!"
else
echo "Not Found!!"
fi

如果我采用其他方法:

ICollection<ZipEntry> selectEntries = _zipFile.SelectEntries("*",rootLocation)

我面临两个问题:

  1. 我必须为'\'切换'/'。
  2. 我获得了所有子文件夹。
  3. 哪个不可取。

    任何人都知道为什么SelectEntries没有返回任何文件夹,或者我是否滥用它?

1 个答案:

答案 0 :(得分:0)

我在特定情况下找到了解决方案。我认为Zipfile的构造方式导致它看起来有文件夹但实际上没有,即下面的代码产生了一个空列表。

class Schedule: NSManagedObject {
    @NSManaged public var timeSlotItems: Set<TimeSlot>
    @NSManaged public func addTimeSlotItemsObject(value: TimeSlot)
    @NSManaged public func removeTimeSlotItemsObject(value: TimeSlot)
    @NSManaged public func addTimeSlotItems(values: Set<TimeSlot>)
    @NSManaged public func removeTimeSlotItems(values: Set<TimeSlot>)
}

我使用以下代码段来实现我所需要的。正则表达式并不像应有的那样全面,但适用于我需要的所有情况。

_zipFile.Entries.Where(e=>e.IsDirectory).AsList();  // always empty!