IOS之数据持久化 (简单对象写入文件)
2015-09-10 08:50
483 查看
写入和读取
//写入
//读取
创建,移动,复制,删除(清除缓存)
//移动
//复制
//删除文件
是否存在
//写入
- (IBAction)wirteBT:(id)sender { //获取字符串 NSString *str1 = _ONRTF.text; NSString *str2 = _TWOTF.text; //获取documents文件路径 NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
#pragma mark -- NSString(字符串)写入本地 // //拼接文件路径 // //PathComponent 文件前不用加"/" // NSString *filePath = [documentsPath stringByAppendingPathComponent:@"test.TXT"]; // //写入 // [str1 writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
#pragma mark -- 数组写入本地 // //数组 // NSArray *arr = @[str1,str2]; // //拼接 // NSString *filePath = [documentsPath stringByAppendingPathComponent:@"arr.plist"]; // //写入 // [arr writeToFile:filePath atomically:YES];
#pragma mark -- 字典写入本地 // //字典 // NSDictionary *dic = @{@"one":_ONRTF.text,@"two":_TWOTF.text}; // //文件拼接 // NSString *firlPath = [documentsPath stringByAppendingPathComponent:@"dic.plist"]; // //写入 // [dic writeToFile:firlPath atomically:YES];
#pragma mark -- data写入本地 //data NSData *data = [str1 dataUsingEncoding:NSUTF8StringEncoding]; //文件拼接 NSString *filePath = [documentsPath stringByAppendingPathComponent:@"data.data"]; //写入 [data writeToFile:filePath atomically:YES]; }
//读取
- (IBAction)readBT:(id)sender { //获取文件路径 //获取documents文件路径 NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
#pragma mark -- 字符串读取 // //拼接文件路径 // NSString *filePath = [documentsPath stringByAppendingPathComponent:@"test.TXT"]; // //展示 // self.TWOTF.text = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
#pragma mark -- 数组读取 // //文件路径拼接 // NSString *filePath = [documentsPath stringByAppendingPathComponent:@"arr.plist"]; // //读取 // NSArray *arr = [NSArray arrayWithContentsOfFile:filePath]; // //展示 // self.ONRTF.text = arr[0]; // self.TWOTF.text = arr[1];
#pragma mark -- 字典读取 // //路径 // NSString *filePath = [documentsPath stringByAppendingPathComponent:@"dic.plist"]; // //读取 // NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath]; // //展示 // self.ONRTF.text = [dic valueForKey:@"one"]; // self.TWOTF.text = [dic valueForKey:@"two"];
#pragma mark -- data读取 NSString *filePath = [documentsPath stringByAppendingPathComponent:@"data.data"]; NSData *data = [NSData dataWithContentsOfFile:filePath]; //展示 NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; self.TWOTF.text = str; //self.ONRTF.text = [data ]; // NSLog(@"%@",data); }
创建,移动,复制,删除(清除缓存)
//创建 - (IBAction)creatBT:(id)sender { //获取documents 文件路径 NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject]; //拼接文件夹路径 NSString *filePath = [documentPath stringByAppendingPathComponent:@"Images"]; //创建文件管理对象 NSFileManager *manager = [NSFileManager defaultManager]; //创建 [manager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil]; }
//移动
- (IBAction)moveBT:(id)sender { //将Images 移动到Caches中 //oldPath //获取tmp文件路径 NSString *tempPath = NSTemporaryDirectory(); //拼接 NSString *oldPath = [tempPath stringByAppendingPathComponent:@"Images"]; //newPath //获取Caches文件路径 NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)firstObject]; //拼接 NSString *newPath = [cachesPath stringByAppendingPathComponent:@"Images"]; //创建文件管理对象 NSFileManager *manager = [NSFileManager defaultManager]; //移动 [manager moveItemAtPath:oldPath toPath:newPath error:nil]; }
//复制
- (IBAction)copyBT:(id)sender { //复制到tmp //1; 获取tmp文件路径 NSString *tmp = NSTemporaryDirectory(); //2: 文件拼接 NSString *newPath = [tmp stringByAppendingPathComponent:@"Images"]; //获取documents文件路径 NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject]; //文件拼接 NSString *oldPath = [documentsPath stringByAppendingPathComponent:@"Images"]; //创建文件管理对象 NSFileManager *manager = [NSFileManager defaultManager]; //复制 [manager copyItemAtPath:oldPath toPath:newPath error:nil]; }
//删除文件
- (IBAction)removeBT:(id)sender { //获取Caches文件路径 NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)firstObject]; //拼接 NSString *filePath = [cachesPath stringByAppendingPathComponent:@"Images"]; //创建文件管理对象 NSFileManager *manager = [NSFileManager defaultManager]; [manager removeItemAtPath:filePath error:nil]; }
是否存在
- (IBAction)exeitAction:(id)sender { //获取Caches文件路径 NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)firstObject]; //拼接 NSString *filePath = [cachesPath stringByAppendingPathComponent:@"Images"]; //创建文件管理对象 NSFileManager *mananger = [NSFileManager defaultManager]; //判断是否存在 BOOL isExist = [mananger fileExistsAtPath:filePath]; UIAlertView *alerview = [[UIAlertView alloc]initWithTitle:@"提示" message:nil delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil]; if (isExist) { alerview.message = @"文件存在"; }else { alerview.message = @"文件不存在"; } [alerview show]; }
相关文章推荐
- iOS开发 - CAGradientLayer 实现渐变色
- 【读书笔记】iOS-Coco内存管理规则-拥有对象
- 【读书笔记】iOS-Coco内存管理规则-拥有对象
- iostat 监视I/O子系统
- Vmware虚拟机进入BIOS方法
- iOS ViewCotroller生命周期
- ios播放视频
- Charles
- ios学习每日笔记1
- ios 如何让你的.ipa安装包完美"越狱"
- wxhl ios bj 49期 张浩 学习文章连载 第9章
- iOS 截取当前屏幕的方法
- IOS开发-cell的动态高度
- iOS 参数的属性
- iOS系统 查看序列号
- ios-播放器开发-锁屏、循环播放
- iOS系统 查看40位设备标识(UDID)
- 安卓对比苹果开发
- iOS可执行文件瘦身方法
- iOS设计模式——生成器模式