【问题标题】:get file attributes with nsfilesustem in cocoa no such file exists在可可中使用 nsfilesustem 获取文件属性不存在此类文件
【发布时间】:2014-09-21 22:20:12
【问题描述】:

我已经搜索了大约 3 个小时的如何获取文件的创建日期,我得到了带有枚举器的 URL,然后我将它传递给更正百分比的路径,最后我尝试获取文件属性...所以,无论如何我都不会更改路径,但我总是收到相同的错误“操作无法完成。没有这样的文件或目录”,以及路径“file:///Users/raul/Desktop /DSC_0386.JPG"。

代码示例:

NSError* error = nil;
//NSDictionary* fileAttribs = [[NSFileManager defaultManager] attributesOfItemAtPath:[[url absoluteString] stringByRemovingPercentEncoding] error:&error];
NSDictionary* fileAttribs = [[NSFileManager defaultManager] attributesOfItemAtPath:@"file://Users/raul/Desktop/DSC_0386.JPG" error:&error];
NSLog(@"%@",error);
NSDate *fecha = [fileAttribs objectForKey:NSFileCreationDate];

我已经注释了第一个 NSDictionary 以直接尝试使用 nsstring 的第二个语句。

我已检查我的文件是否已经存在。

请帮忙??我错过了什么?

【问题讨论】:

    标签: cocoa file-attributes


    【解决方案1】:

    几个问题:

    1) 在大多数情况下,您不必将NSURL 转换为路径字符串即可对文件进行操作。特别是可以使用NSURL的“资源值”API直接获取创建时间:

    NSDate* creationDate;
    NSError* error;
    if ([url getResourceValue:&creationDate forKey:NSURLCreationDateKey error:&error])
        /* use creationDate */;
    else
        /* handle error */;
    

    2) 如果您确实需要从NSURL 获取路径字符串,请不要使用-absoluteString。这仍然是一个 URL 字符串,带有“file://”等内容。URL 字符串不是有效的路径字符串。您在问题中引用的错误消息已经告诉您这一点。它向您显示了“file:///Users/raul/Desktop/DSC_0386.JPG”的文件“路径”,但这根本不是路径。

    您应该只使用-path 方法。当您获得-path 时,您无需对百分比编码进行任何操作。

    3) 你应该忽略任何错误输出参数,直到你检查了你调用的方法是成功还是失败,通常是通过检查它的返回值。也就是说,您发布的代码应该像这样重新组织:

    NSError* error = nil;
    NSDictionary* fileAttribs = [[NSFileManager defaultManager] attributesOfItemAtPath:@"file://Users/raul/Desktop/DSC_0386.JPG" error:&error];
    if (fileAttribs)
    {
        NSDate *fecha = [fileAttribs objectForKey:NSFileCreationDate];
        // ... use fecha ...
    }
    else
        NSLog(@"%@",error);
    

    【讨论】:

    • 谢谢,几分钟前我已经建立了相同的第二部分答案。我要试试1st。在第三部分,错误日志只是用来知道我在开发时遇到的错误。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 2020-10-07
    • 2012-03-26
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    相关资源
    最近更新 更多