2011-12-09 47 views
3

我試着用NSFileManager的attributesOfItemAtPath。它適用於文件,但不適用於文件夾。雖然在Apple's documentation,他們聲稱它應該在文件或文件夾上工作。但是,如果我在文件夾中調用此函數,我所得到的值都是零值。有沒有辦法在Cocoa中獲取文件夾的創建日期?

碼我用:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 

NSDictionary *folderAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:somePath error:nil]; 

NSLog(@"Creation date: %@", [dateFormatter stringFromDate:[folderAttributes objectForKey:NSFileCreationDate]]); 

輸出總是空給我。我的 「somePath」 是一個NSString,像這樣的格式:

file://localhost/Users/username/... 

的思考?謝謝!

回答

7

如果是路徑,請不要使用URL。使用路徑:

 
/Users/username/dir 

此外,習慣了錯誤參數,這真的很有幫助。

NSError *error = nil; 
NSDictionary *attr = [fm attributesOfItemAtPath:path error:&error]; 
if (error) 
    NSLog(@"%@", error) /* at least */ 

它會幫助你。如果由於某種原因您不需要,請注意該參數是指向對象的指針,因此您可能需要使用NULL而不是nil

+1

謝謝!特別是對於錯誤部分! –

1

somePath應該被格式化爲一個正常的POSIX路徑 - 將其設置爲/ Users/username/... - 應該可以工作。

相關問題