【发布时间】:2012-06-05 11:35:58
【问题描述】:
我有一个方法可以给我一个目录的文件大小。 我查看了文档,但没有声明 NSFileSize 具有哪个实体。
【问题讨论】:
-
实体是什么意思?您能否提供您正在使用的文档的链接?
我有一个方法可以给我一个目录的文件大小。 我查看了文档,但没有声明 NSFileSize 具有哪个实体。
【问题讨论】:
NSFileSize
文件属性字典中的键,其值 指示文件的大小(以字节为单位)。对应的值为 NSNumber 对象包含一个 unsigned long long。重要如果 文件有资源分叉,返回值不包括大小 的资源叉。在 iOS 2.0 及更高版本中可用。宣布于 NSFileManager.h.
【讨论】:
NSFileSize。您必须解释您所做的事情并发布失败的代码。请编辑您的问题以澄清。
NSFileSize 是NSFileManager 的attributesOfItemAtPath:error: 返回的属性字典中的键。该对象是一个 NSNumber,您可以使用 unsignedLongLongValue 从中获取 POD 值。
您不会收到NSFileSize 的字典。你的意思是什么方法?
【讨论】:
我自己解决了,感谢目录没有 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;
}
【讨论】: