iPhone模拟器 - 写入文件/阅读问题

时间:2010-04-27 21:32:20

标签: iphone file ios-simulator nsfilemanager

我一直在读很多关于iPhone的读/写,我相信我所拥有的一切都是正确的,但由于某种原因,它的工作方式不合适。

代码如下

NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [docsDirectory stringByAppendingFormat:@"filename.rtf"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:filePath])

我进入了我正在制作的应用程序的iphone模拟器文件夹的文件夹,并将该文件作为安全措施添加到其中,但它仍然没有触发if语句。因此,由于某种原因,它没有发现它使我的所有写作和阅读都变得不可能。我甚至尝试使用FileManager的createFile函数,但没有得到任何结果。如果我需要发布更多代码的东西让我知道,但我想如果以上所有都是正确的,它应该正确找到文件。提前谢谢。

更新:已修复。非常简单的错误。谢谢大家。

2 个答案:

答案 0 :(得分:3)

NSSearchPathForDirectoriesInDomains返回的NSString没有尾部斜杠,因此您构建的路径不正确。要将文件名附加到使用stringByAppendingPathComponent,它将正确处理路径分隔符。

要创建filePath,请尝试:

NSString *filePath =[docsDirector stringByAppendingPathComponent:@"filename.rtf"];

答案 1 :(得分:0)

您是否尝试过使用stringByAppendingPathComponent:代替stringByAppendingFormat:。如果docsDirectory不包含尾部斜杠,您实际上将创建一个名为/PATH/TO/Documentsfilename.rtf而不是/PATH/TO/Documents/filename.rtf的文件。