美文网首页iOS开发
swift 获取文件夹的大小

swift 获取文件夹的大小

作者: 坏得到位 | 来源:发表于2016-04-28 10:57 被阅读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)
    }

    相关文章

      网友评论

        本文标题:swift 获取文件夹的大小

        本文链接:https://www.haomeiwen.com/subject/nifhrttx.html