/*
缓存:
*/
//1. 显示缓存大小
- (float)filePath
{
NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
return [self folderSizeAtPath:cachPath];
}
//2. 遍历文件夹获得文件大小,返回多少M
- (float)folderSizeAtPath:(NSString*)folderPath
{
NSFileManager *manager = [NSFileManager defaultManager];
if (![manager fileExistsAtPath:folderPath])
{
return 0;
}
NSEnumerator *childerFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];
NSString *fileName;
long long folderSize = 0;
while ((fileName = [childerFilesEnumerator nextObject]) != nil)
{
NSString *fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName];
folderSize += [self fileSizeAtPath:fileAbsolutePath];
}
return folderSize/(1024.0*1024.0);
}
//3. 需要 计算单个文件的大小
- (long long)fileSizeAtPath:(NSString *)filePath
{
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:filePath])
{
return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
}
return 0;
}
//4. 清除缓存
- (void)clearFile
{
NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachPath];
NSLog(@"cachPath = %@",cachPath);
for (NSString *p in files)
{
NSError *error = nil;
NSString *path = [cachPath stringByAppendingPathComponent:p];
if ([[NSFileManager defaultManager] fileExistsAtPath:path])
{
[[NSFileManager defaultManager] removeItemAtPath:path error:&error];
}
}
[self performSelectorOnMainThread:@selector(clearCachSuccess) withObject:nil waitUntilDone:YES];
}
计算及清除缓存
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...