Swift-對檔案和資料夾操作
阿新 • • 發佈:2018-12-25
class Common: NSObject { /** 某個檔案的大小 單位:MB - parameter filePath: 檔案路徑 - returns: 檔案大小 */ static func fileSizeAtPath(filePath:String) -> Double{ let manager = NSFileManager.defaultManager() var fileSize : Double = 0 do{ fileSize = try manager.attributesOfItemAtPath(filePath)["NSFileSize"] as! Double }catch{ } return fileSize/1024/1024; } /** 遍歷所有子目錄,計算檔案大小 - parameter forderPath: 目錄路徑 - returns: 返回檔案大小 */ static func forderSizeAtPath(forderPath:String) ->Double{ let manager = NSFileManager.defaultManager() if !manager.fileExistsAtPath(forderPath) { print("檔案不存在!") return 0 } let childFilePath = manager.subpathsAtPath(forderPath) var fileSize:Double = 0 for path in childFilePath!{ let fileAbsolutePath = forderPath+"/"+path fileSize += Common.fileSizeAtPath(fileAbsolutePath) } return fileSize; } /** 刪除檔案 - parameter path: 檔案路徑 */ static func deleteFile(path:String){ let manager = NSFileManager.defaultManager() do{ try manager.removeItemAtPath(path) }catch{ } } /** 刪除資料夾下的所有檔案 - parameter folderPath: 資料夾路徑 */ static func deleteFolder(folderPath:String){ let manager = NSFileManager.defaultManager() if manager.fileExistsAtPath(folderPath) { print("檔案不存在!") return } let childFilePath = manager.subpathsAtPath(folderPath) for path in childFilePath! { let fileAbsolutePath = folderPath + "/" + path Common.deleteFile(fileAbsolutePath) } } }