2012-08-03 77 views
0

文件我写一个文件保存到应用程序的文件目录:从读取文档目录的Objective-C

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 

    // the path to write file 
    NSString *file = [documentsDirectory stringByAppendingPathComponent:@"data.json"]; 

    [responseString writeToFile:file atomically:YES]; 

但我怎么能访问该文件?

我的代码如下所示:

NSString *filePath = [[NSFileManager defaultManager] pathForRessorce: @"data" ofType:@"JSON"]; 

    NSString *fileContent = [[NSString alloc] initWithContentsOfFile:filePath]; 

    SBJsonParser *parser = [[SBJsonParser alloc] init]; 

    NSDictionary *data = (NSDictionary *) [parser objectWithString:fileContent error:nil]; 

不填充文件路径...有人可以给我一个提示?

谢谢!

回答

6

您正在阅读资源文件夹,而不是从文档目录中读取。您需要按照您在写作过程中使用的相同方式填写filePath。那就是:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"data.json"]; 
NSString *fileContent = [[NSString alloc] initWithContentsOfFile:filePath]; 
+0

谢谢!工作正常:) – user1573643 2012-08-06 06:54:24

1

“initwithcontentsoffile已被弃用” 警告

所以不是:

NSString *fileContent = [[NSString alloc] initWithContentsOfFile:filePath]; 

使用:

NSString *userInfoFileContent = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];