从Mac Finder应用程序中,我知道我的文件PicViewer.xcodeproj的文件大小为35697字节。下面的代码为我提供了160个文件大小。我知道该代码可以正常显示Excel文件的大小。
我使用了这个stackoverflow问题How can i get my file size in Objective-C中的代码,做了很小的改动。
NSString *directoryPath = [@"~" stringByExpandingTildeInPath];
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *array = [fm contentsOfDirectoryAtPath: directoryPath error:NULL];
for (NSString *filename in array) {
NSError *attributesError = nil;
NSDictionary *attributes = [fm attributesOfItemAtPath:[directoryPath stringByAppendingPathComponent:filename]
error:&attributesError];
unsigned long long size = [attributes fileSize];
NSString *filetype = [attributes fileType];
NSLog(@"%@ %@ %llu", filename, filetype, size);
}
它还报告文件类型是NSFileTypeDirectory而不是NSFileTypeRegular(并且我怀疑这会导致错误报告文件大小)。例如:
Exercise Record.xlsx NSFileTypeRegular 637131
PicViewer.xcodeproj NSFileTypeDirectory 160
任何帮助将不胜感激。
答案 0 :(得分:1)
xcodeproj
确实是目录,您可以使用Show package content
(或任何我不使用英文MacOS)菜单命令在Finder中扩展其内容,因此在计算其大小时,您可以应该以递归方式执行,例如that