需要搜索目录并遍历 zip 文件并通读每个 [duplicate]

Need to search a directory and loop through zip files and read through each [duplicate]

提问人:mydisplay 提问时间:8/24/2021 更新时间:8/24/2021 访问量:509

问:

我将拥有带有类似 123456 的数字的目录,在里面我将有一个或多个带有版本 1、版本 2、版本 3 等的 zip 文件。我需要从最后一个 zip 文件(在本例中为版本 3)中读取,并从该文件中获取一些信息。我已经放下了那部分(即,如果我解压缩文件并从目录中读取,我的代码会按照我想要的方式读取目录),但到目前为止我无法从 zip 文件中读取。如果我能帮上忙,我不想实际上必须提取任何东西。

Dim path = "c:/MyZipFiles/"
Dim id = 123456
Dim dirInfo = New DirectoryInfo(String.Format("{0}{1}", path, id))
If IO.Directory.Exists(path) Then
    Dim dirList = dirInfo.GetDirectories("Version *.zip", SearchOption.TopDirectoryOnly)
    For Each dirInfo In dirList
         ' read the zip file from here - do I need a using statement?
    Next
End If 
.net vb.net io

评论


答:

0赞 David 8/24/2021 #1

可以使用 ZipFile.OpenRead 方法(文档)返回 ZipArchive。从这里,您可以通过访问 Entries (文档) 或 GetEntry(文档)方法获取所有内容或单个文件。

下面是一个可以循环的例子:For/Each

Using archive = ZipFile.OpenRead(dirInfo)
    For Each entry = archive.Entries()
        Console.WriteLine(entry.FullName)
    Next
End Using