IOS中计算文件的大小详解手机开发

 
 
通常用于删除缓存的时,计算缓存大小 
 
//单个文件的大小 
 
- 
 (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); 
 
} 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/3299.html

(0)
上一篇 2021年7月16日 14:27
下一篇 2021年7月16日 14:27

相关推荐

发表回复

登录后才能评论