【问题标题】: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");
}