计算缓存文件夹的大小以及删除该清除文件夹
2016-12-12 本文已影响0人
小丑不会笑
、、、
//获取文件夹大小
NSFileManager *mgr = [NSFileManager defaultManager];
NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
//文件夹的属性
//NSDictionary *attrs = [mgr attributesOfItemAtPath:caches error:nil];
//获得文件夹的属性,文件夹没有大小遍历所有文件加起来活儿文件的大小
//获取caches里面的所有内容
//NSArray *contents = [mgr contentsOfDirectoryAtPath:caches error:nil];
NSArray *subPaths = [mgr subpathsAtPath:caches];
NSInteger totalByteSize = 0;
for (NSString *subPath in subPaths)
{
NSString *fullPath = [caches stringByAppendingPathComponent:subPath];
//判断是文件还是文件夹
BOOL dir = NO;
[mgr fileExistsAtPath:fullPath isDirectory:&dir];
if (dir == NO)
{
//文件
NSDictionary *attrs = [mgr attributesOfItemAtPath:fullPath error:nil];
NSInteger byteSize = [attrs[NSFileSize] integerValue];
totalByteSize += byteSize;
}
}
NSLog(@"%ld",totalByteSize);
、、、
清缓存
、、、
//删除该文件夹
[mgr removeItemAtPath:caches error:nil];
、、、