检测文件(夹)大小
2015-11-05 21:58
253 查看
-(float)folderSizeAtPath:(NSString *)filePath
{
NSFileManager *manager=[NSFileManager defaultManager];
//判断文件夹是不是存在,不存在的话直接返回0
if (![manager fileExistsAtPath:filePath]) {
return 0;
}
NSArray *array=[manager subpathsAtPath:filePath];//获取指定目录下的所有子目录
NSEnumerator *childFile=[array objectEnumerator];//将子目录转换成枚举对象
long long size=0;
NSString *subpath;
//一次取枚举中的下一个元素,进行非空判断
while ((subpath=[childFile nextObject]) != nil) {
//将指定路径经与其子目录拼接成新的字符串作为判断路径
NSString *newPath=[filePath stringByAppendingPathComponent:subpath];
size+=[self fileSizeAtPath:newPath];//计算大小
}
return size/(1000.0 * 1000.0);//整合后单位为MB(电脑按1000手机按1024)
}
-(long long)fileSizeAtPath:(NSString *)path
{
NSFileManager *fileManager=[NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]) {
//返回指定路径下文件的大小
return [[fileManager attributesOfItemAtPath:path error:nil] fileSize];
}
return 0;
}
-(BOOL)removeSameFile:(NSString *)path andCompare:(NSString *)comPath
{
NSFileManager *manager=[NSFileManager defaultManager];
BOOL isSame=[manager contentsEqualAtPath:path andPath:comPath];
if (isSame) {
BOOL isRemove=[manager removeItemAtPath:comPath error:nil];
return isRemove;
}
return NO;
}
{
NSFileManager *manager=[NSFileManager defaultManager];
//判断文件夹是不是存在,不存在的话直接返回0
if (![manager fileExistsAtPath:filePath]) {
return 0;
}
NSArray *array=[manager subpathsAtPath:filePath];//获取指定目录下的所有子目录
NSEnumerator *childFile=[array objectEnumerator];//将子目录转换成枚举对象
long long size=0;
NSString *subpath;
//一次取枚举中的下一个元素,进行非空判断
while ((subpath=[childFile nextObject]) != nil) {
//将指定路径经与其子目录拼接成新的字符串作为判断路径
NSString *newPath=[filePath stringByAppendingPathComponent:subpath];
size+=[self fileSizeAtPath:newPath];//计算大小
}
return size/(1000.0 * 1000.0);//整合后单位为MB(电脑按1000手机按1024)
}
-(long long)fileSizeAtPath:(NSString *)path
{
NSFileManager *fileManager=[NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]) {
//返回指定路径下文件的大小
return [[fileManager attributesOfItemAtPath:path error:nil] fileSize];
}
return 0;
}
-(BOOL)removeSameFile:(NSString *)path andCompare:(NSString *)comPath
{
NSFileManager *manager=[NSFileManager defaultManager];
BOOL isSame=[manager contentsEqualAtPath:path andPath:comPath];
if (isSame) {
BOOL isRemove=[manager removeItemAtPath:comPath error:nil];
return isRemove;
}
return NO;
}
相关文章推荐
- [转]浅谈dijkstra堆优化
- UIView总结
- Ceph集群中如何摘除一个包含mon、osd和mds的节点
- 【Android开发—智能家居系列】(三):手机连接WIFI模块
- Android IOS WebRTC 音视频开发总结(五十)-- 技术服务如何定价?
- UIScrollView
- 【Xcode】【iOS-pod】The sandbox is not sync with the Podfile.lock
- JCenter下载太慢?教你修改Maven仓库地址为国内镜像
- 查找算法——找到序列中第二大的数(修正版)
- mac virtualBox 解决鼠标无法切换问题
- Android 布局样式和主题
- java中的时间判断
- “互联网+”创新创业计划书(二)
- Mybatis 源码分析--Configuration.xml配置文件加载到内存
- cJSON 库的使用和优化
- NSFileHandle&&NSFileManage
- 51nod 1435 位数阶乘 找规律
- [leetcode 111]Minimum Depth of Binary Tree
- CEF3开发者系列之JS与C++交互之一
- java基础常识