2011-12-27 28 views
3

私はiPhoneにコンテンツを書いています。私はアトミックにそのファイルが上書きされないでYESを通過した場合の上にこのコード目的のCでテキストファイルにコンテンツを書き込む方法iphone

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]; 

で新しいコンテンツで、このファイルを記述しようとしていますしながら私はこのコード

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]; 

を使用しました。 Noを指定した場合、ファイルは上書きされますが、プログラムも停止されて終了します。

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

また、NSErrorを介して詳細なエラー報告を行う方法に問題がありますが、そのエラーを確認することはできません。 –

+1

あなたの文字列をNSDataに変換する必要があります – Pacu

答えて

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]; 

} 
関連する問題