[問題] iOS解壓縮問題

看板MacDev作者 (無言)時間11年前 (2014/06/19 16:03), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
目前使用的解壓縮方法有 ZipArchive、Objective-Zip、SSZipArchive 解壓縮含有3層以上的資料 原始檔總共加起來192個, 45 MB 第一層有放資料 1資料夾 8x個檔案 第二層4個資料夾 第三層每個資料夾都有內容 聲音 圖片 問題1. 3種方式都一樣遇到 解壓縮完,會出現第一層資料OK、第二層只讀到1個或2個資料夾 第三層只讀到一個資料夾的1個檔,其他的都沒讀到 objective-zip 有出現錯誤訊息: The operation couldn't be completed. (Cocoa error 512.) 如果只是單純把那4個資料夾的東西壓縮解壓縮,是ok的 問題2. win7 上的壓縮檔放到ios上,解壓縮會出現上面的情況 在mac上製作的zip 放到ios 完全解壓縮不出來!!? 使用Objective-zip部分程式碼 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; // 原文件 NSString *zipFilePath = [documentPath stringByAppendingString:@"/XXX.zip"]; // 目的文件 NSString *dataPath = [documentPath stringByAppendingString:@"/IDF"]; ZipFile *zipFile = [[ZipFile alloc] initWithFileName:zipFilePath mode:ZipFileModeUnzip]; [zipFile goToFirstFileInZip]; BOOL continueReading = YES; while (continueReading) { //讀取文件信息 FileInZipInfo *info = [zipFile getCurrentFileInZipInfo]; //丟入buffer ZipReadStream *stream = [zipFile readCurrentFileInZip]; //[stream finishedReading]; NSMutableData *data = [[NSMutableData alloc] initWithLength:info.length]; [stream readDataWithBuffer:data]; //存入文件 NSString *writePath = [dataPath stringByAppendingPathComponent:info.name]; NSError *error = nil; [data writeToFile:writePath options:NSDataWritingAtomic error:&error]; if (error) { NSLog(@"Error unzipping file: %@",[error localizedDescription]); } //清理 [stream finishedReading]; [data release]; //繼續讀取 continueReading = [zipFile goToNextFileInZip]; } [zipFile close]; 有人遇到跟我一樣的問題嗎? 求解 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.134.26.195 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1403165032.A.C79.html

06/20 00:41, , 1F
ZipArchive正常,但是不支援中文
06/20 00:41, 1F

06/20 00:50, , 2F
ZipArchive可以中文喔 只是問題1還是一樣發生
06/20 00:50, 2F

06/20 14:26, , 3F
Zip碰到中文要小心檔名/目錄名編碼的問題,雖然不確定有
06/20 14:26, 3F

06/20 14:26, , 4F
沒有相關,但可以試試
06/20 14:26, 4F

06/22 18:16, , 5F
已解出來 是中文問題,以上三種都可以使用繁中
06/22 18:16, 5F
文章代碼(AID): #1Jefbenv (MacDev)
文章代碼(AID): #1Jefbenv (MacDev)