2012-03-19 47 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。任何想法如何将文件new.rtf的数据追加到test.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

我已经被充分路径,但它不工作尝试。 – 2012-03-20 07:48:13

+0

如果关闭文件句柄,使用'[output closeFile];'?怎么办? – Enchilada 2012-03-21 00:14:28

+0

即使关闭文件句柄后也没有发生。 – 2012-03-21 11:27:34

相关问题