2012-03-19 15 views
2

私はMac用のCocoaアプリケーションを開発しています。私は新しい行の既存のファイルにファイルのデータを追加する必要があります。私はこのコードを次のコードで実行しようとしています:新しい行のココアで既存のファイルにデータを追加

NSData * theData = [NSData dataWithContentsOfFile: @"~/Desktop/test/new.rtf" 
              options: NSMappedRead 
              error: &error]; 
NSFileHandle *output = [NSFileHandle fileHandleForWritingAtPath:@"~/Desktop/test/test.rtf"]; 
[output seekToEndOfFile]; 
[output writeData:theData]; 

しかし、このコードは機能しません。このコードは何もしていません。エラーを出すことも、new.rtfファイルのデータをtest.rtfに書き込むこともできません。どのように私は新しい行のtest.rtfにファイルnew.rtfのデータを追加することができますか?

答えて

3
NSString *readFile = [@"~/Desktop/test/new.rtf" stringByExpandingTildeInPath]; 
NSString *writeFile = [@"~/Desktop/test/test.rtf" stringByExpandingTildeInPath]; 

NSData * theData = [NSData dataWithContentsOfFile:readFile 
              options:NSMappedRead 
              error:NULL]; 

NSFileHandle *output = [NSFileHandle fileHandleForUpdatingAtPath:writeFile]; 
[output seekToEndOfFile]; 
[output writeData:theData]; 
[output closeFile]; 
+0

私は既に完全な経路を与えてみましたが、機能していません。 –

+0

'[output closeFile];'を使用してファイルハンドルを閉じるとどうなりますか? – Enchilada

+0

ファイルハンドルを閉じても何も起こらない。 –

関連する問題