将gz转换为zip格式

时间:2014-11-13 10:27:33

标签: objective-c iphone xcode ipad

是否可以将GZ转换为ZIP格式使用objective-c?

NSFileManager *fileManger = [NSFileManager defaultManager];
NSError *error;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
paths = nil;
path = [path stringByAppendingPathComponent:@"text.zip"];

if([fileManger fileExistsAtPath:path ] == NO){
NSString *testPath = [[NSBundle mainBundle] pathForResource:@"text" ofType:@"gz"];
[fileManger copyItemAtPath:@"" toPath:@"" error:&error]; 
}

将mainBundle中的gz文件转换为放置到docuemtn目录的zip文件。

但无法通过ZipArchive类打开zip文件。

1 个答案:

答案 0 :(得分:2)

gzip仅压缩数据,而ZIP同时是压缩器和归档器。 gzip流只能压缩一个文件,而ZIP可以压缩几个文件。因此,简单地重命名文件是行不通的。

您需要decompress the gzip stream to a file,然后recompress as ZIP