1

所以我有一个 zip 文件,它是使用 Objective-Zip 提取的。然后将提取的内容放入 NSData 对象中。我想将内容保存到应用程序文档文件夹中。问题是这些是多个文件,而 writeToFile:atomically: 将 zip 的内容保存到一个文件中。

有任何想法吗?我看到的另一个问题刚刚说要使用 ZipArchive。

我需要快速帮助,因为应用程序需要在我明天工作结束时完成。

4

1 回答 1

1

我认为您需要使用 ZipArchive:

ZipArchive* za = [[ZipArchive alloc] init];
NSData *Data = [NSData  dataWithContentsOfURL:url]; // here url is your zip url
NSArray *documentPathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirString = [documentPathArray objectAtIndex:0];
NSString *filePath = [documentsDirString stringByAppendingPathComponent:@"temp.zip"];

NSURL *fileURL = [NSURL fileURLWithPath:filePath];
NSError *writeError = nil;
[Data writeToURL: fileURL options:0 error:&writeError];
if( writeError) {
   NSLog(@" Error in writing file %@' : \n %@ ", filePath , writeError );
   return;
}
if( [za UnzipOpenFile:filePath] )
{

    BOOL ret = [za UnzipFileTo:documentsDirz overWrite:YES];
    if( NO==ret )
     {
      NSLog(@"NO");
    }
    [za UnzipCloseFile];
} 

了解更多信息

于 2012-04-12T04:09:32.950 回答