【问题标题】:Create a Blank File If Not Already Exist?如果不存在,创建一个空白文件?
【发布时间】:2011-01-12 10:06:40
【问题描述】:

我在应用程序资源中添加了一个空白文件,但在构建中找不到它,如果它不存在,我将如何以编程方式检查并创建一个文件?

【问题讨论】:

    标签: iphone objective-c cocoa-touch iphone-sdk-3.0 ios4


    【解决方案1】:

    首先,您只能写入应用程序的 Documents 目录。

    - (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)contents attributes:(NSDictionary *)attributes
    

    NSFileManager 文档here

    【讨论】:

    • 我正在这样做但不适用于空文件.. NSFileManager *fileManager = [[NSFileManager alloc] init]; if(![fileManager fileExistsAtPath:path]){ [fileManager createFileAtPath:path contents:nil attributes:nil]; } [文件管理器发布];
    • 你必须在里面放点东西。放一个独特的钥匙或其他东西。并测试 createFileAtPath 返回的那个布尔值。当您访问该文件时,查看它是否具有该密钥并从中删除该密钥并在其中写入其他数据。
    • 我用相同的代码成功了,问题是我没有指定文档路径。谢谢。
    • @Syed - 您可以使用 [NSFileManager defaultManager] 而不是创建实例。 @Alex - 发送 nil 数据并创建一个空文件是完全可以接受的。就像 Unix touch 命令一样(见@Krumelur 评论)。
    【解决方案2】:

    您可以将此作为自定义构建步骤(实际上是一个简单的 shell 脚本)。例如,只需添加touch yourfilename

    【讨论】:

    • 在Xcode中右击目标,选择Add>New build phase>New run script build phase。在出现的对话框中,只需输入您要运行的 shell 命令即可。
    • 它会在文档目录中创建文件吗? @Krumelur
    • 不,在应用程序包中。
    猜你喜欢
    • 1970-01-01
    • 2016-06-18
    • 2013-12-25
    • 1970-01-01
    • 2015-10-12
    • 2012-04-08
    • 2014-01-02
    • 2022-12-09
    相关资源
    最近更新 更多