【问题标题】:Get NSData from a file从文件中获取 NSData
【发布时间】:2014-06-16 11:03:54
【问题描述】:

我正在尝试获取自己文件的 NSData。

我的代码如下,但是返回的 NSData 总是 nil...(如你所见,我检查文件是否存在于之前)

if ([[NSFileManager defaultManager] fileExistsAtPath:path]){
    NSData * data = [[NSFileManager defaultManager] contentsAtPath:path];  
}

有什么想法吗?谢谢!

【问题讨论】:

    标签: ios objective-c nsdata nsfilemanager


    【解决方案1】:

    path 可能是一个文件夹,在这种情况下 fileExistsAtPath 将返回 YES,但无法读取任何数据。 您可以通过读取数据来添加一些额外的调试,如下所示:

    NSError* error = nil;
    NSData* data = [NSData dataWithContentsOfFile:path  options:0 error:&error];
    NSLog(@"Data read from %@ with error: %@", path, error);
    

    日志输出将显示发生的实际错误。

    【讨论】:

      【解决方案2】:

      使用这个代码就可以了

      NSString *path = [pathURL filePath];
      if([[NSFileManager defaultManager] fileExistsAtPath:path)
      {
      NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];
      }
      else
      {
         NSLog(@"File not exits");
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-09
        • 1970-01-01
        • 2017-07-23
        • 1970-01-01
        • 2014-08-30
        • 2011-06-05
        • 2014-07-18
        • 1970-01-01
        相关资源
        最近更新 更多