iOS NSFileManeger 计算文件是否超时,和计算文件夹下文件的总大小
2018-07-20 来源:open-open
//获得指定文件距离上次修改时间是否达到了指定值(秒)timeout +(BOOL)isTimeout:(NSString *)path time:(NSTimeInterval)timeout { //获得当前时间 NSTimeInterval now = [[NSDate date] timeIntervalSince1970]; NSDictionary *dict = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil]; // 取得了文件上次修改的时间 NSDate *d = [dict objectForKey:NSFileModificationDate]; if (now-[d timeIntervalSince1970]>timeout) { return YES; } return NO; } //计算文件夹下文件的总大小 +(float)fileSizeForDir:(NSString*)path { NSFileManager *fileManager = [NSFileManager defaultManager]; //记录总值 unsigned long long totalSize =0; //获得指定路径path的所有内容(文件和文件夹) NSArray* array = [fileManager contentsOfDirectoryAtPath:path error:nil]; for(int i = 0; i<[array count]; i++) { //拼接全路径 NSString *fullPath = [path stringByAppendingPathComponent:[array objectAtIndex:i]]; BOOL isDir; //如果指定路径存在并且不是文件夹 //NSLog(@"fullPath:%@",fullPath); //先判断是否存在,再判断是文件夹还是文件 if ([fileManager fileExistsAtPath:fullPath isDirectory:&isDir] && !isDir) { //获得文件属性 NSDictionary *fileAttributeDic=[fileManager attributesOfItemAtPath:fullPath error:nil]; totalSize+=[[fileAttributeDic objectForKey:NSFileSize] unsignedLongLongValue]; } else { //如果是文件夹,递归 totalSize+=[self fileSizeForDir:fullPath]; } } return totalSize; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:C++从文件中按照单词读取内容
最新资讯
热门推荐