应用程序缓存

计算单个文件大小
+(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 +=[FileService fileSizeAtPath:absolutePath];  
        }  
             //SDWebImage框架自身计算缓存的实现  
        folderSize+=[[SDImageCache sharedImageCache] getSize]/1024.0/1024.0;  
        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];  
        }  
    }  
} 
SDWebImage框架自带请缓存方法
      [[SDImageCache sharedImageCache] cleanDisk]; 

你可能感兴趣的:(应用程序缓存)