从文件中获取NSData

时间:2014-06-16 11:03:55

标签: ios objective-c nsdata nsfilemanager

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

我的代码如下,但返回的NSData总是为零...(如您所见,我检查文件是否存在)

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

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:2)

路径可能是文件夹,在这种情况下,fileExistsAtPath将返回YES,但不能读取任何数据。 您可以通过以下方式读取数据来添加一些额外的调试:

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

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

答案 1 :(得分:1)

使用此代码可以使用

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