I have a method which gives me the fileSize of a directory. I looked up in the Documentation but it's not declared which entity NSFileSize has.
问问题
3485 次
3 回答
5
NSFileSize
文件属性字典中的键,其值指示文件的大小(以字节为单位)。对应的值是一个包含 unsigned long long 的 NSNumber 对象。重要如果文件有资源叉,则返回的值不包括资源叉的大小。在 iOS 2.0 及更高版本中可用。在 NSFileManager.h 中声明。
于 2012-05-31T08:19:14.853 回答
3
NSFileSize
是NSFileManager
's返回的属性字典中的键attributesOfItemAtPath:error:
。该对象是一个 NSNumber,您可以从中获取 POD 值,使用unsignedLongLongValue
.
你不会得到NSFileSize
字典。你的意思是什么方法?
于 2012-05-31T08:20:42.613 回答
1
我自己解决了这个问题,这要归功于目录没有 FileSize 的提示。这是我完成的代码:
-(float)getSizeOfDirectory:(NSString *)directory{
NSFileManager *filemgr;
NSArray *filelist;
int count;
float cacheSize = 0;
filemgr =[NSFileManager defaultManager];
filelist = [filemgr contentsOfDirectoryAtPath:directory error:NULL];
count = [filelist count];
for (NSString *url in filelist) {
NSData *data = [filemgr contentsAtPath:[NSString stringWithFormat:@"%@/%@",directory,url]];
cacheSize = cacheSize + ([data length]/1000);
}
cacheSize = (cacheSize/1024);
NSLog(@"cacheSize: %f MB",cacheSize);
return cacheSize;
}
于 2012-05-31T15:35:20.827 回答