/**
* 要求计算一个文件中所有文件的大小
注意:必须先计算一个文件夹中所有文件的大小必须先拿到所有文件,然后再获取所有文件的大小,然后相加
*/
NSFileManager *manager=[NSFileManager defaultManager];
//提取要求计算的文件
NSArray *arr=[manager subpathsAtPath:@"/Users/zhangyunjiang/Desktop"];
NSMutableString *strM=[NSMutableString string];
NSMutableString *strM1=[NSMutableString string];
for (int i=0; i<arr.count; i++) {
//将文件中所有文件名添加到字符串
[strM appendFormat:@"////Users/zhangyunjiang/Desktop/%@",arr[i]];
}
//将添加文件名的字符串转变成为数组
NSArray *arr1=[strM componentsSeparatedByString:@"///"];
for (int j=0; j<arr.count; j++) {
//从数组中提取每一个文件名的属性内容
NSDictionary *dic=[manager attributesOfItemAtPath:(arr1[j]) error:nil];
//查找内容中文件所占内存大小
NSString *str3=dic[NSFileSize];
[strM1 appendFormat:@"-%@",str3];
}
//进行计算
NSArray *arr2=[strM1 componentsSeparatedByString:@"-"];
double sum=0;
for (int i=0; i<arr2.count; i++) {
NSString *str3=[arr2 objectAtIndex:i];
if (str3==nil) {
}
else
{
sum+=[str3 intValue];
}
}
//将空间转换成为GM
double newsum=sum/1024/1024/1024;
NSLog(@"%f",sum);
NSLog(@"%f",newsum);
}
return 0;