iOS开发

swift 获取文件夹的大小

2016-04-28  本文已影响1183人  坏得到位

对于swift 还处于摸索阶段很多语法还不熟悉 ,简单实现一个获取文件夹大小的的方法


1. 首先获取document 文件的路径 代码如下

定义了一个类方法 获取document 路径

   class func documentsDirectory() ->String {
   let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
    let documentsDirectory = paths.first
    return documentsDirectory!}

2.获取单个文件的大小

 class func fileSizeAtPath(filePath:String) -> Float {
    let manager = NSFileManager.defaultManager()
    var fileSize:Float = 0.0
    if manager.fileExistsAtPath(filePath) {
        do {
            if let attr: NSDictionary = try manager.attributesOfItemAtPath(filePath) {
                fileSize = Float(attr.fileSize())
            }
        } catch {
        }
    }
    return fileSize;
}

3.遍历文件夹获取目录下的所有的文件 遍历计算大小

class func folderSizeAtPath(folderPath:String)->Float
{
    if folderPath.characters.count == 0 {
        return 0
    }
    let manager = NSFileManager.defaultManager()
    if !manager.fileExistsAtPath(folderPath){
        return 0
    }
    var fileSize:Float = 0.0
    do {
        let files = try manager.contentsOfDirectoryAtPath(folderPath)
        for file in files {
            let path = self.documentsDirectory() + "/\(file)"
            fileSize = fileSize + self.fileSizeAtPath(path)
        }
    }   catch {
    }
    print("\(fileSize)")
    return fileSize/(1000.0*1000.0)
}
上一篇下一篇

猜你喜欢

热点阅读