使用Objective Zip解压缩包含子文件夹的zip文件

时间:2012-10-10 06:51:25

标签: iphone objective-c ios ipad

我使用Objective Zip解压缩Zip文件并保存到文档目录。解压缩工作正常。压缩文件中的各个文件可以完美地写入文档目录。

问题是我无法将Zip文件中的子文件夹写为文件目录的文件夹。它显示为没有内容的文本文件。

我该如何解决这个问题?如何将文件夹作为文件夹写入目录?

下面是我用过的代码。

    NSString *targetFolder = docPath; // Path to Document directory
    [unzipFile goToFirstFileInZip];


    for (NSString *file in fileArray) {


      ZipReadStream *readStream = [unzipFile readCurrentFileInZip];
      FileInZipInfo *fileInfo = [unzipFile getCurrentFileInZipInfo];
      NSString *fileName = [fileInfo name];


      NSLog(@"File Name--- %@",fileName);
      NSString *unzipFilePath = [targetFolder stringByAppendingPathComponent:fileName];


    if (![fileManager fileExistsAtPath:unzipFilePath]) {
        [fileManager createFileAtPath:unzipFilePath contents:nil attributes:nil];
    }

1 个答案:

答案 0 :(得分:0)

您必须先创建目录才能写入目录

例如

NSString *dir = [unzipFilePath stringByDeletingLastPathComponent];
if (![fileManager fileExistsAtPath:dir isDirectory:nil]) {
    [fileManager createDirectoryAtPath:dir attributes:nil];
    NSLog(@"created directory %@", dir);
}