Nnp*_*Nnp 12 iphone size caching
我如何获得文件夹NSCachesDirectory的大小即/ Library/Cache.我想知道这个文件夹的大小,以便我最终可以清除这个.
谢谢.
编辑:这是我的代码.
NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:folderPath error:&error];
if (attributes != nil) {
if (fileSize = [attributes objectForKey:NSFileSize]) {
NSLog(@"size of :%@ = %qi\n",folderPath, [fileSize unsignedLongLongValue]);
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它,它给我的文件大小768(不知道字节或KB),我检查查找它显示文件夹大小168KB.我不知道什么是错的.
Ale*_*lds 11
以下内容应该有助于您入门:
- (unsigned long long int) cacheFolderSize {
NSFileManager *_manager = [NSFileManager defaultManager];
NSArray *_cachePaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *_cacheDirectory = [_cachePaths objectAtIndex:0];
NSArray *_cacheFileList;
NSEnumerator *_cacheEnumerator;
NSString *_cacheFilePath;
unsigned long long int _cacheFolderSize = 0;
_cacheFileList = [_manager subpathsAtPath:_cacheDirectory];
_cacheEnumerator = [_cacheFileList objectEnumerator];
while (_cacheFilePath = [_cacheEnumerator nextObject]) {
NSDictionary *_cacheFileAttributes = [_manager fileAttributesAtPath:[_cacheDirectory stringByAppendingPathComponent:_cacheFilePath] traverseLink:YES];
_cacheFolderSize += [_cacheFileAttributes fileSize];
}
return _cacheFolderSize;
}
Run Code Online (Sandbox Code Playgroud)
编辑
假设您在Simulator中运行此命令,Finder可能会报告这些字节的文件块使用情况.这些块必然大于文件数据本身.阅读HFS +系统以了解块:http://en.wikipedia.org/wiki/HFS_Plus
我不确定iPhone上使用了什么文件系统,或者设备上的文件块大小是什么,因此虽然字节总数相同,但Simulator和设备之间的实际磁盘使用量可能不同.
归档时间: |
|
查看次数: |
5915 次 |
最近记录: |