我正在尝试为iOS 7制作iPhone应用程序。 我已经在我的项目中创建了一个txt文件,并希望能够从txt文件中写入文本,当我按下写入按钮,写入并能够读取数据时,当我按下读取按钮时,读取。
当我尝试读取数据时,我发现这种方法有效:
- (IBAction)load:(id)sender {
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"text" ofType:@"txt"];
if (filePath) {
NSString *stringFromFile = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[TextView setText:stringFromFile];
}
}
在另一个按钮上,我希望它将数据写入项目中的txt文件。 我已经尝试了很多方法,但没有真正有效 - 它很简单,不会在文件中写入文本。 我发现了一种方法,可以达到50%。这意味着它无法保存我要写的文本,它只显示它将文本放在文本框中。
代码:
- (IBAction)write:(id)sender {
NSString *documentsDirectory = [NSHomeDirectory()
stringByAppendingPathComponent:@"Documents"];
NSString *filePath = [documentsDirectory
stringByAppendingPathComponent:@"text"];
//NSString *filePath = [[NSBundle mainBundle] pathForResource:@"text" ofType:@"txt"];
NSString *printString = [NSString stringWithFormat:@"The new text"];
[printString writeToFile:filePath atomically:NO encoding:NSUTF8StringEncoding error:nil];
if (filePath) {
NSString *stringFromFile = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[TextView setText:stringFromFile];
}
}
任何人都可以帮帮我吗? 提前致谢! :)
答案 0 :(得分:3)
您可以使用以下功能:
-(void) writeToTextFile
{
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt",
documentsDirectory];
NSString *content = @"Your Desired Content";
[content writeToFile:fileName
atomically:NO
encoding:NSStringEncodingConversionAllowLossy
error:nil];
}