技术文档iOS本地持久化iOS Developer

iOS 使用NSFileManager清理缓存

2016-01-08  本文已影响303人  孤胆走天涯

1.获取文件路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *path = [paths lastObject];


//计算文件大小

+(float)fileSizeAtPath:(NSString *)path{

NSFileManager *fileManager=[NSFileManager defaultManager];

if([fileManager fileExistsAtPath:path]){

long long size=[fileManager attributesOfItemAtPath:path error:nil].fileSize;

return size/1024.0/1024.0;

}

return 0;

}

//计算目录大小

+(float)folderSizeAtPath:(NSString *)path{

NSFileManager *fileManager=[NSFileManager defaultManager];

float folderSize;

if ([fileManager fileExistsAtPath:path]) {

NSArray *childerFiles=[fileManager subpathsAtPath:path];

for (NSString *fileName in childerFiles) {

NSString *absolutePath=[path stringByAppendingPathComponent:fileName];

folderSize +=[self fileSizeAtPath:absolutePath];

}

return folderSize;

}

return 0;

}

//清理

+(void)clearCache:(NSString *)path{

NSFileManager *fileManager=[NSFileManager defaultManager];

if ([fileManager fileExistsAtPath:path]) {

NSArray *childerFiles=[fileManager subpathsAtPath:path];

for (NSString *fileName in childerFiles) {

//如有需要,加入条件,过滤掉不想删除的文件

NSString *absolutePath=[path stringByAppendingPathComponent:fileName];

[fileManager removeItemAtPath:absolutePath error:nil];

}

}

[[SDImageCache sharedImageCache] cleanDisk];

}

上一篇下一篇

猜你喜欢

热点阅读