[self getMPSize]
-(NSString *)getMPSize {
NSString*sizeTypeW = @"bytes";
NSString * cachesString = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSString * imageFileString = [cachesString stringByAppendingPathComponent:@"DownloadImages"]; NSLog(@"====--------%@",imageFileString); //这里是获得你的路径
NSFileManager *manager = [NSFileManager defaultManager];
long long app = [self folderSize:cachesString]; // 先计算总路径总大小
if([manager fileExistsAtPath:imageFileString] == YES){//判断你的子路径存不存在
long long working = [self folderSize:imageFileString];//存在就调用这个方法获得文件的大小 NSLog(@"-----------------------%llu",working);
if(working<1){ //从这里开始是计算文件大小
return @"Size: Zero KB";
}else{
if (working > 1024) {
//Kilobytes working = working / 1024; sizeTypeW = @" KB";
}
if (working > 1024) {
//Megabytes
working = working / 1024;
sizeTypeW = @" MB"; }
if (working > 1024) {
//Gigabytes
working = working / 1024;
sizeTypeW = @" GB"; }
return [NSString stringWithFormat:@" Working: %lld %@ ", working,sizeTypeW]; }
}else{
}
[manager release]; }
- (unsigned long long int)folderSize:(NSString *)folderPath { //根据传过来的文件路径
NSArray *filesArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:folderPath error:nil]; //这是找到所有的文件夹
NSEnumerator *filesEnumerator = [filesArray objectEnumerator]; //遍历文件夹
NSString *fileName;
unsigned long long int fileSize = 0;
while (fileName = [filesEnumerator nextObject]) {
NSDictionary *fileDictionary = [[NSFileManager defaultManager] attributesOfItemAtPath:[folderPath stringByAppendingPathComponent:fileName] error:nil];
fileSize += [fileDictionary fileSize]; //得到总的大小 }
return fileSize; //得到总大小并且返回 }