0
我想計算一個目錄及其所有內容的大小。我遇到的所有解決方案都使用NSFileManager(在計算文件大小時不考慮資源分叉)或使用不推薦使用的函數的this carbon code。使用資源分支計算Mac OS目錄的大小而不使用不建議使用的功能
我們應該如何使用Cocoa獲得準確的文件夾大小?
我想計算一個目錄及其所有內容的大小。我遇到的所有解決方案都使用NSFileManager(在計算文件大小時不考慮資源分叉)或使用不推薦使用的函數的this carbon code。使用資源分支計算Mac OS目錄的大小而不使用不建議使用的功能
我們應該如何使用Cocoa獲得準確的文件夾大小?
我解決了這個:
- (unsigned long long)folderSizeForURL:(NSURL *)url {
NSArray *keys = @[ NSURLTotalFileSizeKey ];
NSDirectoryEnumerator *enumerator = [[NSFileManager defaultManager]
enumeratorAtURL:url
includingPropertiesForKeys:keys
options:0
errorHandler:^(NSURL *url, NSError *error) {
// Handle the error.
// Return YES if the enumeration should continue after the error.
return YES;
}];
unsigned long long size = 0;
for (NSURL *url in enumerator) {
NSError *error;
NSNumber *totalFileSize;
[url getResourceValue:&totalFileSize forKey:NSURLTotalFileSizeKey error:&error];
size += [totalFileSize longLongValue];
}
return size;
}
的結果是完全一樣的取景器。