2012-05-13 29 views

回答

5

希望你在這裏找到答案:

一個文件或目錄的屬性可以使用 attributesOfItemAtPath方法獲得。這需要參數 目錄的路徑和一個可選的NSError對象,其中將放置關於 任何錯誤的信息(如果不需要此信息,可將其指定爲NULL)。結果以 的形式返回NSDictionary字典對象(有關使用 字典對象參考Objective-C字典對象的詳細信息)。

本字典一些鍵:從上述文章

NSFileType 
NSFileTypeDirectory 
NSFileTypeBlockSpecial 
NSFileTypeUnknown 
NSFileSize 
NSFileModificationDate 
NSFileOwnerAccountName 
NSFileGroupOwnerAccountName 
NSFilePosixPermissions 
NSFileSystemNumber 
NSFileCreationDate 
NSFileOwnerAccountID 
NSFileGroupOwnerAccountID 

實施例:

(我們可使用提取/ tmp目錄的創建日期,文件類型和POSIX權限下面的代碼摘錄)

NSFileManager *filemgr; 
NSDictionary *attribs; 

filemgr = [NSFileManager defaultManager]; 

attribs = [filemgr attributesOfItemAtPath: @"/tmp" error: NULL]; 

NSLog (@"Created on %@", [attribs objectForKey: NSFileCreationDate]); 
NSLog (@"File type %@", [attribs objectForKey: NSFileType]); 
NSLog (@"POSIX Permissions %@", [attribs objectForKey: NSFilePosixPermissions]); 
2

最前沿(may.13.2012)使用CFURL/NSURL屬性:

id outName = nil; 
NSString * key = NSURLNameKey; 
NSError * outError = nil; 

if (YES == [url getResourceValue:&value forKey:key error:&outError]) { 
    NSString * name = outName; 
    ... 
} 

注意:確保你只需要什麼要求,並注意有一批請求方法/功能,以儘量減少多餘的請求。如果使用NSURL,您可以使用:

NSArray * keys = ...; 
NSError * outError = nil; 
NSDictionary * properties = [url resourceValuesForKeys:keys error:&outError];