Swift之缓存文件处理
2017-06-19 14:42
176 查看
// // YDWCache.swift // Project // // Created by cptech on 2017/6/19. // Copyright © 2017年 CPTECH_ydw. All rights reserved. // import UIKit class YDWCache: NSObject { /** * 以NSHomeDirectory()为例 */ // 读取缓存的大小 static func returnCacheSize()->String { return String(format:"%.2f",forderSizeAtPath(folderPath: NSHomeDirectory())) } // 根据文件的路径计算文件的大小(MB) static func returnFileSize(path:String)->Double { let fileManager = FileManager.default var fileSize:Double = 0 do { fileSize = Double(try fileManager.attributesOfItem(atPath: path)[FileAttributeKey.size] as! UInt64) fileSize = Double((try fileManager.attributesOfItem(atPath: path) as NSDictionary).fileSize()) } catch { dump(error) } return fileSize/1024.0/1024.0 } // 遍历文件的子目录,计算文件的大小 static func forderSizeAtPath(folderPath:String)->Double { let filemanager = FileManager.default if !filemanager.fileExists(atPath: folderPath) { return 0 } let childFilePath = filemanager.subpaths(atPath: folderPath) var fileSize:Double = 0 for path in childFilePath! { let fileAbsoluePath = folderPath+"/"+path fileSize += YDWCache.returnFileSize(path: fileAbsoluePath) } return fileSize } // 清除缓存 static func cleanCache(competion:()->Void) { YDWCache.deleteFolder(folderPath: NSHomeDirectory() + "/Documents") YDWCache.deleteFolder(folderPath: NSHomeDirectory() + "/Library") YDWCache.deleteFolder(folderPath: NSHomeDirectory() + "/tmp") competion() } // 删除单个文件 static func deleteFile(path:String) { let fileManager = FileManager.default do { try fileManager.removeItem(atPath: path) } catch { dump(error) } } // 删除文件下的所有文件 static func deleteFolder(folderPath:String) { let fileManager = FileManager.default if !fileManager.fileExists(atPath: folderPath) { } let childFilePath = fileManager.subpaths(atPath: folderPath) for path in childFilePath! { let fileAbsoluePath = folderPath+"/"+path YDWCache.deleteFile(path: fileAbsoluePath) } } }
相关文章推荐
- IOS/swift 异步缓存文件
- PHP 的本地文件缓存处理类(非常高效)
- swift 文件缓存
- Swift - 文件目录路径获取及数据储存(Home目录,文档目录,缓存目录)
- 静态文件的缓存处理
- js 文件缓存处理方法
- 【Swift】 GET&POST请求 网络缓存的简单处理
- Android学习之创建中间缓存文件,处理文件名重复问题
- Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等)
- Liferay Dynamic CSS Filter方法的研究 - 缓存文件存在的处理 推荐
- 目录文件处理函数之clearstatcache函数--清除缓存
- 缓存(关联文件)处理
- Python文件处理之文件写入方式与写缓存(三)
- Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等)
- PHP 的本地文件缓存处理类(非常高效)
- 二级缓存处理大数据 用ehcache.xml配置文件
- 【Swift】 GET&POST请求 网络缓存的简单处理
- Swift - 文件目录路径获取及数据储存(Home目录,文档目录,缓存目录)
- Spring Boot Web 静态文件缓存处理的方法
- [ios][swift]Swift - 常用文件目录路径获取(Home目录,文档目录,缓存目录等)