我的应用程序将用户信息/首选项的加密数据写入一个文件,并在下次打开应用程序时从该文件中读取。
正在写入文件:
- (BOOL)writeFile:(NSString *)data:(NSString *)fileName {
return [data writeToFile:fileName
atomically:YES
encoding:NSUTF8StringEncoding error:nil];
}正在读取文件:
- (NSString *)readFile:(NSString *)fileName {
NSData *data = [NSData dataWithContentsOfFile:fileName];
NSString *str = [[[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding] autorelease];
return str;
}这在模拟器上工作得很好。文件按照预期进行写入和读取。对于设备上的文件读写,我需要设置什么吗?
发布于 2011-10-18 22:17:11
文件名必须在文档目录中。模拟器不会像设备那样对其写入文件的位置有太多的限制。
获取文档目录,如下所示:
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"myfilename.extension"];将它传递到上面的函数中,就可以了。
https://stackoverflow.com/questions/7808355
复制相似问题