Swift:文件操作

1.獲取文件/文件夾大小

//文件管理者
static let mFileManager = NSFileManager.defaultManager()
static func getFileSize(filePath:String)->Int{
    var totalSize:Int = 0
    //判斷字符串是否為文件/文件夾
    var isDir: ObjCBool = ObjCBool(false)
    let exists:Bool = mFileManager.fileExistsAtPath(filePath, isDirectory: &isDir)
    
    if exists {
        if isDir {
            let subFileNames:NSArray = mFileManager.subpathsAtPath(filePath)!
            for subFileName in subFileNames {
                let subFilePath = (filePath as NSString).stringByAppendingPathComponent(subFileName as! String)
                totalSize += getFileSize(subFilePath)
            }
        }else{
            let attr:NSDictionary = try! mFileManager.attributesOfItemAtPath(filePath)
            let size = attr["NSFileSize"] as! Int
            totalSize += size
            
        }
    }else{
        return 0
    }
    return totalSize
}

//擴展Double轉化為String保留多少位
extension Double {
    func format(f: String) -> String {
        return String(format: "%\(f)f", self)
    }
}

//轉化為顯示字符串
static func getSizeStr(fileSize:Int) -> String{
    if fileSize == 0 {
        return ""
    }
    if fileSize > 1024 * 1024 {
        return "\((Double(fileSize)/(1024*1024)).format(".2"))MB"
    }else if fileSize > 1024{
        return "\(fileSize/1024)KB"
    }
    return "\(fileSize)B"
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容