Abh*_*nav 15 file-io cocoa-touch objective-c ios
我试图从一个文件中取出内容并将其写入另一个文件.我读得很好,但我无法将其写入另一个文件.
我有一个单词数据库.我想根据字母数将单词分成不同的文件.所有四个字母单词都放在一个文件中,依此类推.我在我的资源中添加了一个名为"4letter"的txt文件,以下是我的代码:
NSError *error;
//READ
NSString *dbFile = [[NSBundle mainBundle] pathForResource:@"words" ofType:@"txt"];
NSString *test = [NSString stringWithContentsOfFile:dbFile encoding:NSUTF8StringEncoding error:&error];
//convert from string to array
NSArray *lines = [test componentsSeparatedByString:@"\n"];
NSFileHandle *logFile = nil;
logFile = [NSFileHandle fileHandleForWritingAtPath:[[NSBundle mainBundle] pathForResource:@"4letter" ofType:@"txt"]];
//Test if write works
for (int i=0; i<5; i++)
{
NSString *randomAnagram = [[lines objectAtIndex:i] lowercaseString];
[logFile writeData: [randomAnagram dataUsingEncoding: NSNEXTSTEPStringEncoding]];
}
Run Code Online (Sandbox Code Playgroud)
Cal*_*leb 22
在iOS中,您无法在应用程序包中写入文件 - 整个包是只读的.请改用Documents文件夹中的路径.
有关更好的说明,请参阅特殊的文件系统编程指南.
在iOS中,您无法在应用程序包中写入文件 - 整个包是只读的.
在iCloud备份的上下文中,考虑阅读iOS数据存储指南以更好地理解下面目录的用途.
<APPLICATION_HOME> /AppName.app
这是包含应用程序本身的包目录.不要在此目录中写任何内容.为防止篡改,bundle目录在安装时签名.写入此目录会更改签名并阻止您的应用再次启动.
<APPLICATION_HOME> /文档/
使用此目录存储关键用户文档和应用程序数据文件.关键数据是您的应用无法重新创建的任何数据,例如用户生成的内容.该目录的内容可以通过文件共享提供给用户.该目录的内容由iTunes备份.
<APPLICATION_HOME> /库/
此目录是非用户数据文件的文件的顶级目录.您通常将文件放在几个标准子目录之一中,但您也可以为要备份但未向用户公开的文件创建自定义子目录.您不应将此目录用于用户数据文件.该目录的内容(Caches子目录除外)由iTunes备份.有关Library目录的其他信息,请参阅"Library Directory存储特定于应用程序的文件".
请参阅iOS标准目录中的完整列表(tmp /,Documents/Inbox):文件所在的位置
更新
我使用NSFileManager方法URLForDirectory:inDomain:appropriateForURL:create:error:
像Caleb说的那样,你不能写入应用程序的目录,但是你可以写入应用程序的Documents文件夹.你可以这样得到它:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
Run Code Online (Sandbox Code Playgroud)
您的应用程序包是只读的。有两种方式我可以看到:
1) 在文档文件夹中写入:
NSArray *pathList = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [myPathList objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
2)使用sqlite数据库。这与 1 相同(无论如何您必须将 db 保存在文档中),但是您使用的是 sqlite 数据库。我认为这比很多 txt 和 plist 文件要好:这里有一个关于该主题的教程。
归档时间: |
|
查看次数: |
13890 次 |
最近记录: |