我正在使用 NSFileManager 来获取我们应用程序中某些文件的大小。
每个文件都由一个单独的线程检查,所有文件的结果都是相同的错误值。在单独的线程中为每个文件运行以下代码:
NSFileManager *fileManager= [[NSFileManager alloc] init];
NSUInteger completedFileSize = [[[fileManager attributesOfItemAtPath:fileName error:&error] objectForKey:NSFileSize] unsignedLongValue];
NSLog(@"Part %lu: %@ => size:%lu actual size:%lu", myPart.SequenceNumber, fileName, completedFileSize, myPart.Size);
输出是:
第 1 部分:/Users/David/TEMP/245E0BF53ECA/part1 => 大小:36864 实际大小:37187
第 5 部分:/Users/David/TEMP/245E0BF53ECA/part5 => 大小:36864 实际大小:37187
第 2 部分:/Users/David/TEMP/245E0BF53ECA/part2 => 大小:36864 实际大小:37187
第 4 部分:/Users/David/TEMP/245E0BF53ECA/part4 => 大小:36864 实际大小:37187
第 3 部分:/Users/David/TEMP/245E0BF53ECA/part3 => 大小:36864 实际大小:37187
第 6 部分:/Users/David/TEMP/245E0BF53ECA/part6 => 大小:36864 实际大小:37187
第 7 部分:/Users/David/TEMP/245E0BF53ECA/part7 => 大小:36864 实际大小:37186
第 0 部分:/Users/David/TEMP/245E0BF53ECA/part0 => 大小:36864 实际大小:37189
终端上ls -l命令的输出也与之前保存在myPart.Size中的正确文件大小相同
-rw-r--r-- 1 David 员工 37189 Nov 25 11:25 part0
-rw-r--r-- 1 David 员工 37187 Nov 25 11:25 第 1 部分
-rw-r--r-- 1 David 员工 37187 Nov 25 11:25 第 2 部分
-rw-r--r-- 1 David 员工 37187 Nov 25 11:25 第 3 部分
-rw-r--r-- 1 David 员工 37187 Nov 25 11:25 第 4 部分
-rw-r--r-- 1 David 员工 37187 Nov 25 11:25 part5
-rw-r--r-- 1 David 员工 37187 Nov 25 11:25 第 6 部分
-rw-r--r-- 1 David 员工 37186 Nov 25 11:25 part7
我正在使用 OS X 10.8 和 Xcode 4.5。
任何帮助将不胜感激。