IOS 文件读写常用的2中方法
2015-06-02 17:02
465 查看
IOS常用的数据存储有两种,一种是将数据通过文件存储在 documentDirectory中,另一种是将文件通过plist文件存储
一。通过document永久存储文件
返回文件名称
将数据写入到文件中去
当进行完毕以上操作后,你就可以在document目录下面看到weathertest.plist 文件了,并且文件中还有 1--HdFile的字典。
2.通过plist问价来存储
此处可以存储NsArray ,Bool.等常用数据类型。当所存储的数据是 NSMutableArray,NSMutableDictionary可变的数据类型时,需要将其转换为常用数据类型,否则会奔溃
//保留到一个NSDictionary字典里,由系统保存到文件里.
[[NSUserDefaults
standardUserDefaults] setBool:YES
forKey:@"key_isLogined"];
//命令直接同步到文件里,来避免数据的丢失。
[[NSUserDefaults
standardUserDefaults] synchronize];
//放在这里做判断,如果首次登陆成功的话,保存登陆状态,以后就直接进入主界面
isLogined=[[NSUserDefaults
standardUserDefaults] boolForKey:@"key_isLogined"];
一。通过document永久存储文件
返回文件名称
- (NSString*) writeFile{ //创建文件管理器 NSFileManager *fileManager = [NSFileManager defaultManager]; //获取document路径,括号中属性为当前应用程序独享 NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentDirectory = [directoryPaths objectAtIndex:0]; //定义记录文件全名以及路径的字符串filePath NSString *filePath = [documentDirectory stringByAppendingPathComponent:@"weathertest.plist"]; //查找文件,如果不存在,就创建一个文件 // if (![fileManager fileExistsAtPath:filePath]) { // // [fileManager createFileAtPath:filePath contents:nil attributes:nil]; // // } //如果想检视文件有没有生成,可以在视图上添加一个Label,加一行代码显示地址。 // Label.text = documentDirectory; NSLog(@"------documentDirectory:%@---",documentDirectory); //或者 // Label.text = filePath; NSLog(@"------filePath:%@---",filePath); return filePath; }
将数据写入到文件中去
- (void)testWriteFile{ NSString *filePath = [self writeFile]; if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) { self.fileConfDic = [NSMutableDictionary dictionaryWithContentsOfFile:filePath]; } else { self.fileConfDic = [[[NSMutableDictionary alloc] initWithCapacity:10] autorelease]; } [self.fileConfDic setObject:@"1" forKey:@"HdFile"]; NSMutableDictionary *logInfo = [[NSMutableDictionary alloc] initWithCapacity:2]; if(![fileConfDic writeToFile: filePath atomically:YES]){ [logInfo setObject:@"文件保存失败" forKey:@"信息"]; [logInfo setObject:@"执行saveFileDic时失败" forKey:@"出错时机"]; [logInfo setObject:filePath forKey:@"路径"]; }else{ [logInfo setObject:@"文件保存成功" forKey:@"信息"]; [logInfo setObject:filePath forKey:@"文件保存路径"]; } [logInfo writeToFile: [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"log_info.plist"] atomically:YES]; [logInfo release]; }
当进行完毕以上操作后,你就可以在document目录下面看到weathertest.plist 文件了,并且文件中还有 1--HdFile的字典。
2.通过plist问价来存储
此处可以存储NsArray ,Bool.等常用数据类型。当所存储的数据是 NSMutableArray,NSMutableDictionary可变的数据类型时,需要将其转换为常用数据类型,否则会奔溃
//保留到一个NSDictionary字典里,由系统保存到文件里.
[[NSUserDefaults
standardUserDefaults] setBool:YES
forKey:@"key_isLogined"];
//命令直接同步到文件里,来避免数据的丢失。
[[NSUserDefaults
standardUserDefaults] synchronize];
//放在这里做判断,如果首次登陆成功的话,保存登陆状态,以后就直接进入主界面
isLogined=[[NSUserDefaults
standardUserDefaults] boolForKey:@"key_isLogined"];
相关文章推荐
- iOS开发零基础教程之Git的一些常用命令
- IOS申请发布证书-图文详解
- 从零开始系列之iOS地图获取当前城市
- iOS中如何通过instruments工具来找崩溃信息
- iOS 调试
- 最新版SDWebImage的使用
- ios代码行数
- 网易新闻iOS版使用的18个开源组件
- 关于ios
- iOS开发之版本控制(SVN)
- IOS 播放动态Gif图片
- IOS 播放动态Gif图片
- iOS开发之让你的应用“动”起来
- iOS 版本更新
- iOS程序在后台进行任务的方法
- 苹果要把Google Now装进iOS 9?
- [问题记录]'dismissModalViewControllerAnimated:' is deprecated: first deprecated in iOS 6.0
- [学习记录]判断设备是否IOS7
- iOS开发实战:如何将非ARC的项目转换成ARC项目
- ios