iphone开发之获取系统磁盘大小和可用磁盘大小

NSFileManager包含非常丰富的信息,通过下面的方法可很容易的获取系统磁盘的大小和可用磁盘的大小

- (NSNumber *) totalDiskSpace 

    NSDictionary *fattributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()]; 
    return [fattributes objectForKey:NSFileSystemSize]; 


- (NSNumber *) freeDiskSpace 

    NSDictionary *fattributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()]; 
    return [fattributes objectForKey:NSFileSystemFreeSize]; 
}

 

参见NSFileManager的头文件尾部定义的字段,不难发现还有许多可以获取的信息的。

具体的都可以根据需求来获取。

FOUNDATION_EXPORT NSString * const NSFileType; 
FOUNDATION_EXPORT NSString     * const NSFileTypeDirectory; 
FOUNDATION_EXPORT NSString     * const NSFileTypeRegular; 
FOUNDATION_EXPORT NSString     * const NSFileTypeSymbolicLink; 
FOUNDATION_EXPORT NSString     * const NSFileTypeSocket; 
FOUNDATION_EXPORT NSString     * const NSFileTypeCharacterSpecial; 
FOUNDATION_EXPORT NSString     * const NSFileTypeBlockSpecial; 
FOUNDATION_EXPORT NSString     * const NSFileTypeUnknown; 
FOUNDATION_EXPORT NSString * const NSFileSize; 
FOUNDATION_EXPORT NSString * const NSFileModificationDate; 
FOUNDATION_EXPORT NSString * const NSFileReferenceCount; 
FOUNDATION_EXPORT NSString * const NSFileDeviceIdentifier; 
FOUNDATION_EXPORT NSString * const NSFileOwnerAccountName; 
FOUNDATION_EXPORT NSString * const NSFileGroupOwnerAccountName; 
FOUNDATION_EXPORT NSString * const NSFilePosixPermissions; 
FOUNDATION_EXPORT NSString * const NSFileSystemNumber; 
FOUNDATION_EXPORT NSString * const NSFileSystemFileNumber; 
FOUNDATION_EXPORT NSString * const NSFileExtensionHidden; 
FOUNDATION_EXPORT NSString * const NSFileHFSCreatorCode; 
FOUNDATION_EXPORT NSString * const NSFileHFSTypeCode; 
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
FOUNDATION_EXPORT NSString * const NSFileImmutable; 
FOUNDATION_EXPORT NSString * const NSFileAppendOnly; 
FOUNDATION_EXPORT NSString * const NSFileCreationDate; 
FOUNDATION_EXPORT NSString * const NSFileOwnerAccountID; 
FOUNDATION_EXPORT NSString * const NSFileGroupOwnerAccountID; 
#endif 
#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
FOUNDATION_EXPORT NSString * const NSFileBusy; 
#endif 
#if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
FOUNDATION_EXPORT NSString * const NSFileProtectionKey NS_AVAILABLE(NA, 4_0); 
FOUNDATION_EXPORT NSString     * const NSFileProtectionNone NS_AVAILABLE(NA, 4_0); 
FOUNDATION_EXPORT NSString     * const NSFileProtectionComplete NS_AVAILABLE(NA, 4_0); 
#endif 

FOUNDATION_EXPORT NSString * const NSFileSystemSize; 
FOUNDATION_EXPORT NSString * const NSFileSystemFreeSize; 
FOUNDATION_EXPORT NSString * const NSFileSystemNodes; 
FOUNDATION_EXPORT NSString * const NSFileSystemFreeNodes; 

@interface NSDictionary (NSFileAttributes) 

- (unsigned long long)fileSize; 
- (NSDate *)fileModificationDate; 
- (NSString *)fileType; 
- (NSUInteger)filePosixPermissions; 
- (NSString *)fileOwnerAccountName; 
- (NSString *)fileGroupOwnerAccountName; 
- (NSInteger)fileSystemNumber; 
- (NSUInteger)fileSystemFileNumber; 
- (BOOL)fileExtensionHidden; 
- (OSType)fileHFSCreatorCode; 
- (OSType)fileHFSTypeCode; 
#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
- (BOOL)fileIsImmutable; 
- (BOOL)fileIsAppendOnly; 
- (NSDate *)fileCreationDate; 
- (NSNumber *)fileOwnerAccountID; 
- (NSNumber *)fileGroupOwnerAccountID; 
#endif 
@end










本文转自 arthurchen 51CTO博客,原文链接:http://blog.51cto.com/arthurchen/577946,如需转载请自行联系原作者

上一篇:第一章: WebSocket初识


下一篇:spring 和hibernate项目制作可执行的jar包