从文件中获取 NSData

Posted

技术标签:

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

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

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

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

有什么想法吗?谢谢!

【问题讨论】:

【参考方案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");

【讨论】:

以上是关于从文件中获取 NSData的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 来自 NSData 完成处理程序的 writeToFile

从 NSData 中查找视频类型

IOS:从照片路径获取 NSData

iPhone - 来自本地文件 URL 的 NSData

从 NSData 获取较低质量的 UIImage?

从 NSData 为 localNotification 设置自定义声音