【问题标题】:Clear content from text file in Objective C从Objective C中的文本文件中清除内容
【发布时间】:2014-09-02 04:37:18
【问题描述】:

我是 iOS 和 Objective C 的新手,我正在尝试创建我的第一个应用程序。

我有一个包含几行数据的小文本文件,在某些时候,我必须在添加新行之前清除该文件中的所有数据。

我搜索了一段时间,但找不到任何东西。我很确定这一定是一种方法,但我能找到它。

我可以删除文件并在添加之前重新创建它,但我认为这不是正确的方法。

我也尝试过覆盖这里的内容: Overwriting current contents in file

但它没有接缝工作(它在文件开头添加数据),我无法接缝弄清楚。

有什么想法吗?

【问题讨论】:

  • 如果您不需要以前的数据,覆盖文件似乎非常合适。如果您只保存一点数据,尽管您可能想看看NSUserDefaults
  • 如果你保存大量数据,你应该看看CoreData
  • 感谢您的回答。我确实查看了 NSUserDefaults,但我的目的是能够通过邮件共享此文件并将其上传到服务器以供进一步使用,因此当时这是最好的选择。
  • 如果你想共享文件,如果你不关心以前的数据,只需覆盖它。这可能比编辑文件更容易/更快。
  • 您无需“清除”文件即可覆盖它。只需编写文件的新版本,旧数据就会消失,无论出于何种意图和目的。您必须付出额外的努力来“附加”到文件中,以防止在您向文件写入更多内容时将其覆盖。

标签: ios objective-c overwrite


【解决方案1】:

试试:

 NSArray *allPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [allPaths objectAtIndex:0];
    NSString *pathForUrFile = [documentsDirectory stringByAppendingPathComponent:@"yourFile.txt"];
    [[NSFileManager defaultManager] createFileAtPath:pathForUrFile contents:[NSData data] attributes:nil];

这样可以将文件内容设置为nil

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-14
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多