//獲取路徑
NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
// 計(jì)算文件夾所有問(wèn)價(jià)所占的空間
CGFloat size = [self caculateFileCapacityAtPath:path];
// 移除所有的緩存
[self removeFileAtPath:path];
計(jì)算文件夾大小
-(CGFloat)caculateFileCapacityAtPath:(NSString *)path{
//獲取所有文件的大小
CGFloat totalsize = 0.0 ;
NSFileManager *filemanage = [NSFileManager defaultManager];
if ([filemanage fileExistsAtPath:path]) {
NSArray *subpaths = [filemanage subpathsAtPath:path];
NSEnumerator *enuerr = [subpaths objectEnumerator];
NSString *subfilepath ;
while (subfilepath = [enuerr nextObject]) {
NSString *filepath = [path stringByAppendingPathComponent:subfilepath];
NSDictionary *dic = [filemanage attributesOfItemAtPath:filepath error:nil];
if (dic) {
CGFloat filesize = [[dic objectForKey:@"NSFileSize"] floatValue];
totalsize += filesize ;
}else{
NSLog(@"屬性不存在");
}
}
// 返回單位為 M
return totalsize/(1024.0 * 1024.0) ;
}else{
return 0.0 ;
}
}
清除文件夾下的內(nèi)容
/* 清除該路徑下所有的文件以及文件夾 */
-(void)removeFileAtPath:(NSString *)path{
NSFileManager *filemanage = [NSFileManager defaultManager];
if ([filemanage fileExistsAtPath:path]) {
// 找出該文件夾下所有文件所在的子路徑
NSArray *subpaths = [filemanage subpathsAtPath:path];
/* NSEnumerator 用于快速遍歷subpaths中的元素 */
NSEnumerator *enumerr = [subpaths objectEnumerator];
/* 遍歷至最后一個(gè)對(duì)象之后 返回值為空 */
NSString *subpath ;
while (subpath = [enumerr nextObject]) {
NSString *filepath = [path stringByAppendingPathComponent:subpath];
[filemanage removeItemAtPath:filepath error:nil];
}
}else{
NSLog(@"該文件夾不存在");
}
}