2011-12-27 90 views
3

我正在iPhone中撰写内容。我用这个代码如何在目标C中写入文本文件中的内容iphone

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"data.txt"]; 
NSString *temp = [[NSString alloc] initWithString:@"my name is gaurav"]; 
[temp writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
[temp release]; 

虽然我尝试过写新的内容,此文件与此代码

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"data.txt"]; 
NSString *matter = [[NSString alloc] initWithString:@"Hello iPhone"]; 

[matter writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
[matter release]; 

如果我在原子那么文件不会被覆盖过YES。如果我把No放在那里,那么文件将被覆盖,但程序也停止并退出。

[matter writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
+0

此外,你有一个方法,通过NSError提供详细的错误报告的问题,但你没有检查错误。 – 2011-12-27 15:02:09

+1

你必须将你的字符串转换为NSData – Pacu 2011-12-27 21:15:41

回答

2

我试过了。这是工作。你只需创建测试项目。并在viewDidLod方法中编写以下代码。并查看文档目录中的文本文件内容。它会被覆盖。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"data.txt"]; 
    NSString *temp = [[NSString alloc] initWithString:@"my name is gaurav"]; 
    [temp writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; 
    [temp release]; 

    NSString *matter = [[NSString alloc] initWithString:@"Hello iPhone"]; 
    [matter writeToFile:filePath atomically:NO encoding:NSUTF8StringEncoding error:nil]; 
    [matter release]; 

} 
相关问题