iOS使用ZipArchive壓縮文件
作者:佚名
今天開發(fā)應(yīng)用需要使用到壓縮文件功能,在網(wǎng)上查找了一下相關(guān)資料,發(fā)現(xiàn)ZipArchive使用相對(duì)簡單點(diǎn),自己就寫了個(gè)demo分享給大家。
今天開發(fā)應(yīng)用需要使用到壓縮文件功能,在網(wǎng)上查找了一下相關(guān)資料,發(fā)現(xiàn)ZipArchive使用相對(duì)簡單點(diǎn),自己就寫了個(gè)demo函數(shù):
ZipArchive下載地址:https://code.google.com/p/ziparchive/
代碼:
- +(NSString *)zipFiles:(NSArray *)paramFiles
- {
- //生成zip文件名字
- NSString * zipFileName = [[CUtils generateRndString] stringByAppendingPathExtension:@"zip"];
- //取得zip文件全路徑
- NSString * zipPath = [[CUtils documentPath] stringByAppendingPathComponent:zipFileName];
- //判斷文件是否存在,如果存在則刪除文件
- NSFileManager * fileManager = [NSFileManager defaultManager];
- @try
- {
- if([fileManager fileExistsAtPath:zipPath])
- {
- if(![fileManager removeItemAtPath:zipPath error:nil])
- {
- CCLog(@"Delete zip file failure.");
- }
- }
- }
- @catch (NSException * exception) {
- CCLog(@"%@",exception);
- }
- //判斷需要壓縮的文件是否為空
- if(paramFiles == nil || [paramFiles count] == 0)
- {
- CCLog(@"The files want zip is nil.");
- return nil;
- }
- //實(shí)例化并創(chuàng)建zip文件
- ZipArchive * zipArchive = [[ZipArchive alloc] init];
- [zipArchive CreateZipFile2:zipPath];
- //遍歷文件
- for(NSString * fileName in paramFiles)
- {
- NSString * filePath = [[CUtils documentPath] stringByAppendingPathComponent:fileName];
- if([fileManager fileExistsAtPath:filePath])
- { //添加文件到壓縮文件
- [zipArchive addFileToZip:filePath newname:fileName];
- }
- }
- //關(guān)閉文件
- if([zipArchive CloseZipFile2])
- {
- CCLog(@"Create zip file success.");
- [zipArchive release];
- return zipPath;
- }
- [zipArchive release];
- return nil;
- }
ps:代碼里面使用的CCLog是自定義
責(zé)任編輯:閆佳明
來源:
oschina