我有一个包含zip文件的文件夹。我想解压它们。解压缩后,我必须找到目录中是否还有其他zip文件。如果找到了,我也要将它们解压缩。 zip文件存在的内在级别是不确定的。如何解压缩子目录中的所有zip文件。
答案 0 :(得分:0)
这听起来像是一种基本的递归操作。如上所述Tim,我们无法在不知道你正在使用的图书馆的情况下给出具体细节(个人而言,我是Ionic图书馆的粉丝),但它会是这样的:
Function Unzip(file as File)
zipfile = ZipLibrary.Load(file);
For Each innerfile as File in zipfile.files
If (innerfile.Name.EndsWith(".zip")) Then
Unzip(innerfile);
End If
End For
End Function
当然,与任何形式的递归一样,您可以通过构建要解压缩的文件列表并添加和迭代它而不是执行递归调用来节省堆栈空间。如果您不确定文件是否具有正确的扩展名,您还可以使用zip库本身来检查文件是否是有效的zip文件。