博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ios 关于文件操作 获取 文件大小

Posted on 2015-10-08 15:02  BradyChen  阅读(856)  评论(0编辑  收藏  举报
 分类: Apple IPhone

c语言 实现

 

#include "sys/stat.h"

- (long long) fileSizeAtPath:(NSString*) filePath{  

    struct stat st;  
    if(lstat([filePath cStringUsingEncoding:NSUTF8StringEncoding], &st) == 0){  
        return st.st_size;  
    }  
    return 0;  
}  

 

objective-c 语言实现

-(long long) fileSizeAtPath:(NSString*) filePath{  

  NSFileManager* manager = [NSFileManager defaultManager];  

  if ([manager fileExistsAtPath:filePath]){  

    return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];  

  }  

  return 0;  

}  

 

如果将两种方法循环1000次,我们就可以发现两者之间巨大的性能差距了,在我的测试环境中,结果如下,c函数的耗时仅是oc方法的5%,在此推荐 c语言

 

一个空的文件夹 其中获取大小为68k ,应该是系统文件吧,如果知道的人,欢迎留言