对于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)
}
网友评论