我试图读取文件并更改我的应用程序的文件内容。这是我在 viewWillAppear 方法中的代码:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"myfile" ofType:@"txt"];
NSFileHandle *file;
NSData *databuffer;
file = [NSFileHandle fileHandleForReadingAtPath:filePath];
if (file == nil)
NSLog(@"Failed to open file");
[file seekToFileOffset: 0];
databuffer = [file readDataToEndOfFile];
NSString *strData = [[NSString alloc]initWithData:databuffer encoding:NSUTF8StringEncoding];
NSLog(@"%@", strData);
[file closeFile];
file = nil;
filePath = nil;
databuffer = nil;
}
这里是 myfile.txt 的内容:
test
这里是视图出现后 nslog 的结果:
2012-02-03 13:46:01.165 iBadah[9629:207] test
但问题是,当我更改 myfile.txt 内容时(应用程序仍在运行):
test test
结果不会更改为实际的 myfile.txt 内容,而是显示旧内容:
2012-02-03 13:46:21.335 iBadah[9629:207] test
所以场景是,我推送视图(然后 viewWillAppear 将运行)结果显示,我转到另一个视图,更改 myfile.txt 的内容,然后返回第一个视图(再次运行 viewWillAppear)和结果没有改变。
任何人都可以给我解决方法来获取 myfile.txt 的实际内容吗?谢谢。