用ZipArchive壓縮資料夾

2021-09-01 21:33:12 字數 680 閱讀 3123

上次有篇部落格記錄了用ziparchive壓縮檔案,但是那段**有點問題,可以壓縮根目錄下的檔案,但是無法壓縮子目錄下的檔案:

nsarray *filelist = [filemanager contentsofdirectoryatpath:sourcepath error:nil];// 檔案列表  

for(nsstring *filename in filelist)

上面的contentsofdirectoryatpath方法,遍歷了sourcepath目錄,列出所有的檔案和子目錄。問題是子目錄會被壓縮成乙個無字尾的檔案,而不是被當做資料夾來處理。改進了一下,應該用下面的**:

nsarray *subpaths = [filemanager subpathsatpath:sourcepath];// 關鍵是subpathsatpath方法 

for(nsstring *subpath in subpaths)

}

區別在於不是呼叫contentsofdirectoryatpath方法,而是呼叫subpathsatpath方法,這會列出sourcepath下的所有檔案和子目錄,然後在下面的迴圈裡,將檔案寫入壓縮檔案,不處理資料夾。注意newname要直接用subpath,這樣會自動在壓縮檔案中保留子目錄下的檔案完整路徑

用ZipArchive壓縮資料夾

上次有篇部落格記錄了用ziparchive壓縮檔案,但是那段 有點問題,可以壓縮根目錄下的檔案,但是無法壓縮子目錄下的檔案 nsarray filelist filemanager contentsofdirectoryatpath sourcepath error nil 檔案列表 for nss...

python用 zipfile 模組壓縮檔案

你可能熟悉 zip 檔案 帶有.zip 副檔名 它可以包含許多其他檔案的壓縮內容。壓縮乙個檔案會減少它的大小,這在網際網路上傳輸時很有用。因為乙個 zip 檔案可以包含多個檔案和子資料夾,所以它是一種很方便的方式,將多個檔案打包成乙個檔案。這個檔案叫做 歸檔檔案 然後可以用作電子郵件的附件,或其他用...

怎樣壓縮檔案 如何給壓縮檔案加密

我們生活 工作中,會經常遇到壓縮檔案 給檔案加密的事情。有時候,是單純不想讓別人看到 有時候,是提供 但不能共享,用來獲取收益等等。那麼怎麼將乙個檔案壓縮,或者乙個資料夾壓縮尼?同時又怎麼給這個壓縮檔案加密尼?下面大家和小編一起看一下吧。壓縮檔案 如圖。找到需要壓縮的檔案 資料夾,右擊檔案,點選新增...