IT虾米网

IOS中计算文件的大小详解

lxf 2018年06月23日 手机开发 398 0
 
 
通常用于删除缓存的时,计算缓存大小 
 
//单个文件的大小 
 
- 
 (long 
 
long) 
 fileSizeAtPath:(NSString*) filePath{ 
 
    NSFileManager* 
 manager = [NSFileManager defaultManager]; 
 
    if 
 
([manager fileExistsAtPath:filePath]){ 
 
        return 
 
[[manager attributesOfItemAtPath:filePath error:nil] fileSize]; 
 
    } 
 
    return 
 
0; 
 
} 
 
//遍历文件夹获得文件夹大小,返回多少M 
 
- 
 (float 
 
) folderSizeAtPath:(NSString*) folderPath{ 
 
    NSFileManager* 
 manager = [NSFileManager defaultManager]; 
 
    if 
 
(![manager fileExistsAtPath:folderPath]) return 
 
0; 
 
    NSEnumerator 
 *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator]; 
 
    NSString* 
 fileName; 
 
    long 
 
long  
folderSize = 0; 
 
    while 
 
((fileName = [childFilesEnumerator nextObject]) != nil){ 
 
        NSString* 
 fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName]; 
 
        folderSize 
 += [self fileSizeAtPath:fileAbsolutePath]; 
 
    } 
 
    return 
 
folderSize/(1024.0*1024.0); 
 
} 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

iOS设备是否越狱的判断代码详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。