我尝试使用NSFileManager的attributesOfItemAtPath。它适用于文件,但不适用于文件夹。虽然在Apple's documentation中,他们声称它应该在文件或文件夹上工作。但是如果我在文件夹上调用它,我得到的只是零值。
我使用的代码:
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/...
思考?谢谢!
答案 0 :(得分:7)
如果是路径,请不要使用网址。使用路径:
/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 / ... - 应该可以正常工作。