iOS计算缓存内容大小

来源:互联网 发布:淘宝解绑不了支付宝 编辑:程序博客网 时间:2024/05/01 18:04

// 计算目录大小

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

    NSFileManager *fileManager=[NSFileManagerdefaultManager];

    float folderSize;

    if ([fileManager fileExistsAtPath:path]) {

        NSArray *childerFiles=[fileManager subpathsAtPath:path];

        for (NSString *fileNamein childerFiles) {

            NSString *absolutePath=[path stringByAppendingPathComponent:fileName];

            folderSize +=[self fileSizeAtPath:absolutePath];

        }

        //SDWebImage框架自身计算缓存的实现

        folderSize+=[[SDImageCache sharedImageCache] getSize]/1024.0/1024.0;

        return folderSize;

    }

    return 0;

}




//计算缓存内容的大小

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

    NSFileManager *fileManager=[NSFileManagerdefaultManager];

    if([fileManager fileExistsAtPath:path]){

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

        return size/1024.0/1024.0;

    }

    return 0;

}



+(void)clearCacheAtPath:(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]; } }}


0 0
原创粉丝点击