我正在使用mac应用程序。
如屏幕截图所示,我希望在我的Mac OS X可可应用程序中以编程方式获取此内容。
我希望获得总容量,可用空间和可用空间。
有人可以帮我吗?
...谢谢
答案 0 :(得分:4)
使用-[NSFileManager mountedVolumeURLsIncludingResourceValuesForKeys:options:]
获取卷的NSURL
秒。对于propertyKeys
,请使用@[ NSURLVolumeTotalCapacityKey, NSURLVolumeAvailableCapacityKey ]
。您可能希望在选项中使用NSVolumeEnumerationSkipHiddenVolumes
。
然后,对于每个URL,使用相同的属性键调用-[NSURL resourceValuesForKeys:error:]
。这将为您提供一个字典,其密钥为NSURLVolumeTotalCapacityKey
和NSURLVolumeAvailableCapacityKey
,其值为NSNumber
个对象,其中包含相应的数量,以字节为单位。
如果您需要格式化这些值以进行显示,请使用NSByteCountFormatter
。
答案 1 :(得分:1)
我从link得到了答案。
所以我发布了我使用该引用所做的事情。
NSError *error;
NSFileManager *fm = [NSFileManager defaultManager];
NSDictionary *attr = [fm attributesOfFileSystemForPath:@"/"
error:&error];
NSLog(@"Attr: %@", attr);
float totalsizeGb = [[attr objectForKey:NSFileSystemSize]floatValue] / 1000000000;
NSLog(@" size in GB %.2f",totalsizeGb);
float freesizeGb = [[attr objectForKey:NSFileSystemFreeSize]floatValue] / 1000000000;
NSLog(@" size in GB %.2f",freesizeGb);
希望能帮助其他人。
...谢谢