我是新的objective-c。 我有一個包含在NSString中的文件的路徑,我想要獲取文件大小。我發現這example並更改不合法的代碼與attributesOfItemAtPath:錯誤:但路徑始終無效。獲取文件大小給出的路徑
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSString *path = @"~/Library/Safari/History.plist";
NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath: path error: NULL];
if (fileAttributes != nil) {
NSNumber *fileSize;
if (fileSize == [fileAttributes objectForKey:NSFileSize]) {
NSLog(@"File size: %qi\n", [fileSize unsignedLongLongValue]);
}
}
else {
NSLog(@"Path (%@) is invalid.", pPath);
}
[NSFileManager release];
我認爲這個問題不是波浪號(〜),用NSString * path = @「Whatever.txt」;該代碼不起作用。 – Joannes 2012-01-02 10:07:17
你是否在錯誤處理中用'nil'而不是'NULL'嘗試過?我發佈的代碼已經過測試,並在我的一些應用程序中使用,所以我確信它可以正常工作。嘗試**完整路徑**,例如**/Users/USERNAME/Library/Safari/History.plist **並使用'NSFileManager'的'defaultMangaer'來代替創建自己的實例。 [這裏(http://pastebin.com/XBBCvqGu)](http://pastebin.com/XBBCvqGu)我寫了一段代碼,它可以做你正在尋找的東西:它已經過測試並且可以正常工作。 – Sylter 2012-01-02 11:04:15
我試過零,並沒有錯誤,但代碼不起作用。在控制檯中,我嘗試了你的代碼,沒關係,但是我需要輸入你的用戶名。我怎麼能不放呢?只/圖書館/ Safari/History.plist? – Joannes 2012-01-02 12:21:27