如何在目标 c ipad 应用程序中创建要写入的新文本文件

Posted

技术标签:

【中文标题】如何在目标 c ipad 应用程序中创建要写入的新文本文件【英文标题】:How to create a new text file to write to in objective c ipad app 【发布时间】:2013-06-01 11:35:51 【问题描述】:

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

【问题讨论】:

【参考方案1】:

使用这个方法:

+ (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];
        

【讨论】:

不过,请确保writeToFile: 中的path 没有指向只读主包。 gd 点 -> 忘记了。无法写入只读路径...将编辑答案。【参考方案2】:

你的问题太宽泛了,一个人可以开一辆卡车(或卡车,用英国英语)穿过它。

但通常,您可以将 UITextView 添加到您的视图控制器之一。

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

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

Hereare other questionsthat people have asked这可能会帮助你。

【讨论】:

【参考方案3】:

你可以使用 UITextView 来写文字

使用保存文件

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

使用获取 TextFile 内容

NSString* content = [NSString stringWithContentsOfFile:filePath
                                              encoding:NSUTF8StringEncoding
                                                 error:NULL];

【讨论】:

但这仅适用于已经存在的文本文件,不是吗? 您可以使用 writeTofile 创建新的文本文件,这会将您的文本写入文件...

以上是关于如何在目标 c ipad 应用程序中创建要写入的新文本文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中创建要打印到 JFrame 的 JLabels 数组

如何在 ASP .Net (Aspx) 中创建要从 Javascript 访问的 Web 服务方法?

如何在iphone中创建一个类实例?

如何创建一个向后兼容iOS 5.0的新Xcode 5项目? - 错过故事板错误

如何在目标 c 中创建程序化自动布局?

如何在单独的类中创建通用 Iphone/Ipad 应用程序?