首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在应用包中编辑文件?

如何在应用包中编辑文件?
EN

Stack Overflow用户
提问于 2014-07-23 23:31:28
回答 1查看 1.6K关注 0票数 2

在我的应用程序中,我从包资源中存储的CSV文件加载数据。但是,当用户点击update按钮时,我希望能够以编程方式更新此文件。有没有办法以编程方式更改应用程序包中的资源?下面是我用来访问该文件的代码:

代码语言:javascript
复制
    NSString *path = [[NSBundle mainBundle] pathForResource:@"query_result" ofType:@"csv"];
    NSArray *rows = [NSArray arrayWithContentsOfCSVFile:path];
EN

回答 1

Stack Overflow用户

发布于 2014-07-23 23:43:50

首先从捆绑包中加载文件,然后将其存储在文档目录中,然后可以再次对该文件进行更改,保存到文档目录中以访问更改后的文件。

在mainbundle和文档之间使用此代码副本。

代码语言:javascript
复制
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;

NSString *dataPath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"tessdata"];
NSLog(@"Datapath is %@", dataPath);

// If the expected store doesn't exist, copy the default store.    
    if ([fileManager fileExistsAtPath:dataPath] == NO)
    {
        NSString *tessdataPath = [[NSBundle mainBundle] pathForResource:@"eng" ofType:@"traineddata"];
        [fileManager copyItemAtPath:tessdataPath toPath:dataPath error:&error];

    }

-(NSString*) applicationDocumentsDirectory{
    // Get the documents directory
    NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *docsDir = [dirPaths objectAtIndex:0];
    return docsDir;
}

然后让保存的文件进行更改...

代码语言:javascript
复制
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                     NSUserDomainMask,
                                                     YES);

NSString *fullPath = [[paths lastObject] stringByAppendingPathComponent:@"recentDownload.txt"];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24914769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档