0

我在 iPhone 中使用以下代码将字符串写入存储在我的 iPhone 项目资源文件夹中的文件中。当我尝试读取它成功读取数据但当我尝试写入它时不写入文件虽然它也没有给我任何错误。

这是我的代码:

NSString *myString; //Assuume the string you want to write is this
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.txt"];
[myString writeToFile:path atomically:YES];

请任何人指导。

4

3 回答 3

1
- (void) testStringReadWrite {
    NSString *myString = @"abcd efgh"; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.txt"];
    CFShow(path);
    NSError *error = nil;

    [myString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];
    if (error) {
        NSLog(@"%@",error);
    }


    NSString *readString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
    if (error) {
        NSLog(@"%@", error);
    } else {
        CFShow(readString);
    }

}
于 2011-07-06T11:55:50.277 回答
0

writeToFile:atomically: 在 iOS 2.0 中已被弃用。使用 writeToFile:atomically:encoding:error: 代替。您应该检查字符串的内容,例如通过 NSLog() 函数。不适当的初始化可能会导致失败。

NSLog(@"%@", myString);
[myString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL];
于 2011-07-06T11:44:09.177 回答
0

只是我的两分钱,来自 OS X,我习惯打电话writeToURL()而不是writeToFile(). 事实证明,writeToFile()它适用于 iOS。

于 2012-09-05T17:16:00.510 回答