【发布时间】:2011-11-06 04:45:27
【问题描述】:
我似乎无法让 nsdata 写入文件。任何想法我可能做错了什么。提前致谢。
NSString* filename = @"myfile.txt";
NSString *applicationDocumentsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *storePath = [applicationDocumentsDir stringByAppendingPathComponent:filename];
if ([fileManager fileExistsAtPath:applicationDocumentsDir])
NSLog(@"applicationDocumentsDir exists"); // verifies directory exist
NSData *data = [NSData dataWithContentsOfURL:URL];
if (data) {
NSString *content = [[NSString alloc] initWithBytes:[data bytes]
length:[data length] encoding: NSUTF8StringEncoding];
NSLog(@"%@", content); // verifies data was downloaded correctly
NSError* error;
[data writeToFile:storePath options:NSDataWritingAtomic error:&error];
if(error != nil)
NSLog(@"write error %@", error);
}
我不断收到错误
"The operation couldn’t be completed. No such file or directory"
【问题讨论】:
-
您不应该检查
error是否为 nil - 它可以被初始化为任何东西(在您的情况下)。检查writeToFile:options:error的结果以确定成功或失败。如果它返回 false (NO),那么你才应该读取错误。 -
感谢您的回复。它返回 NO。我删除了检查以使帖子尽可能短。
-
在调用 writeToFile:options:error: 之前,storePath 变量的值是多少?您的代码看起来不错,但您遇到的错误让我质疑该路径指向的位置。
标签: ios nsdata writetofile