如何在iOS 7的文本文件中编写

时间:2014-02-05 19:20:25

标签: ios file text

我正在尝试为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];
    }
}

任何人都可以帮帮我吗? 提前致谢! :)

1 个答案:

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

}