1

我正在为 iOS 使用 SSZipArchive。是否有可能获取每个解压缩文件的文件名:

[SSZipArchive unzipFileAtPath:zipFile toDestination:docDir delegate:self];

我试图得到它

- (void)zipArchiveDidUnzipArchiveFile:(NSString *)zipFile entryPath:(NSString *)entryPath destPath:(NSString *)destPath

- (void)zipArchiveDidUnzipFileAtIndex:(NSInteger)fileIndex totalFiles:(NSInteger)totalFiles archivePath:(NSString *)archivePath unzippedFilePath:(NSString *)unzippedFilePath

但遗憾的是,这两个函数都没有被调用。

4

1 回答 1

1

未经测试,但类似的东西应该可以工作:

NSString *destination = [NSTemporaryDirectory() stringByAppendingString:@"DirectoryDestination"];
[SSZipArchive unzipFileAtPath:yourZipPath toDestination:destination];
NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:destination error:nil];
for (NSURL *url in directoryContent) {
    NSLog(@"Filename: %@", [url lastPathComponent]);
}

说明:

  1. 将您的 zip 文件解压缩到目标目录中
  2. 获取目标目录中包含的所有文件(您SSZipArchive将文件从 zip 中放在那里)
  3. 只需记录文件名并使用它们做任何事情
于 2015-05-13T18:56:50.210 回答