0

我将如何在我的程序中创建一个新的文本文件以便我可以向其中写入内容?我已经了解如何编写内容,但我无法找到有关该主题的任何内容(任何易于理解的内容)。

4

3 回答 3

3

使用此方法:

+ (id)stringWithContentsOfFile:(NSString *)path
                  usedEncoding:(NSStringEncoding *)enc
                         error:(NSError **)error

一个例子:

NSString* path = [[NSBundle mainBundle] pathForResource:@"Example"
                                                 ofType:@"txt"];
NSError *error = nil;
NSString* content = [NSString stringWithContentsOfFile:path
                                              encoding:NSUTF8StringEncoding
                                                 error:&error];

if(error) 
{ 
    NSLog(@"ERROR while loading from file: %@", error);
}

写入文件以这种方式工作:使用此方法:

 - (BOOL)writeToFile:(NSString *)path 
          atomically:(BOOL)useAuxiliaryFile 
            encoding:(NSStringEncoding)enc 
               error:(NSError **)error

例子:

[text writeToFile:path atomically:NO  encoding:NSUTF8StringEncoding error:nil];

错误:

不能只写入捆绑路径。需要将其复制到文档目录。

-(void)copyBundleToDocuments
{
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [documentPaths objectAtIndex:0];
    NSString *documentPlistPath = [documentsDirectory stringByAppendingPathComponent:@"Example.txt"];
    NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
    NSString *bundlePlistPath = [bundlePath stringByAppendingPathComponent:@"Example.txt"];

        NSError *error;
        BOOL success = [fileManager copyItemAtPath:bundlePlistPath toPath:documentPlistPath error:&error];
        if (success) 
        {
            [text writeToFile:documentPlistPath atomically:NO  encoding:NSUTF8StringEncoding error:nil];
        }
}
于 2013-06-01T11:39:22.950 回答
0

您的问题是如此广泛,以至于可以驾驶卡车(或英国英语中的卡车)穿过它。

但一般来说,您可以将 UITextView 添加到您的视图控制器之一。

当您准备好保存时,您可以获取文本视图的内容(这是一个 NSString),并通过 NSString writeToFile 方法将其保存到文件中。

只要您知道该文件的路径,您就可以稍后通过 NSString 的“initFromFile”方法加载文本视图。

以下是 人们提出的其他问题 ,可能会对您有所帮助。

于 2013-06-01T11:38:35.220 回答
0

您可以使用 UITextView 编写文本

使用保存文件

     [txtView.text writeToFile:filePath atomically:NO  encoding:NSUTF8StringEncoding error:nil];

使用获取 TextFile 内容

NSString* content = [NSString stringWithContentsOfFile:filePath
                                              encoding:NSUTF8StringEncoding
                                                 error:NULL];
于 2013-06-01T11:43:31.350 回答