iOS数据持久化之写入沙盒
2015-01-27 22:10
218 查看
iOS持久化有很多种,那么首先我们先来探讨一下文件的读写,即将文件写入到指定的沙盒路径中,但是这种持久化方式的储存对象有限制 只能写入4中类型(NSString, NSArray,NSDictionary,NSData)
首先,先找到我们写入文件的路径,我们先来看看沙盒路径
接下来我们创建文件内容,并且将文件存入到指定的路径,如果指定路径没有该文件,那么系统会重新创建一个
文件的写入是以"writeToFile"开头
文件的读取是以"contentOfFire"
首先,先找到我们写入文件的路径,我们先来看看沙盒路径
//参数1,枚举值,搜索的文件夹 //参数2,枚举值,搜索的域(类似于windows下的盘符CDEF等) //参数3,波尔值,是否使用绝对路径 //由于沙盒机制的限制,只能够操作自己的沙盒,域都使用NSUserDomainMask(用户域) //由于可能每个域中都可能出现相同的文件夹,所以这个app返回值是NSArray NSString *documenrsParh = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSLog(@"%@", documenrsParh); //library:存放资源文件(视频,图片等) NSString *libraryParh = [NSSearchPathForDirectoriesInDomains (NSLibraryDirectory, NSUserDomainMask, YES) firstObject]; NSLog(@"%@", libraryParh); //Caches:Library的子文件夹,存放缓存数据(例如图片的缓存) NSString *cachesParh = [NSSearchPathForDirectoriesInDomains (NSCachesDirectory, NSUserDomainMask, YES) firstObject]; NSLog(@"%@", cachesParh); //Preferences:Library的子文件夹,存放一些配置文件(例如NSUserDefaults生成的plist文件) //一般不会直接使用 NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setBool:YES forKey:@"first"]; [userDefaults synchronize]; //tmp:存放临时文件(例如zip压缩包,解压过后,删掉) NSLog(@"%@", NSTemporaryDirectory());
接下来我们创建文件内容,并且将文件存入到指定的路径,如果指定路径没有该文件,那么系统会重新创建一个
//创建文件内容 NSString *string = [NSString stringWithFormat:@"新年快乐!"]; //创建文件路径 NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSString *filePath = [docPath stringByAppendingPathComponent:@"test.txt"]; //写入到指定的文件路径 //注:如果发现没有这个文件夹,就自动创建 //每次修改文件内容,都是一个覆盖过程 NSError *errror = nil; BOOL result = [string writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&errror]; if (result) { NSLog(@"写入成功"); } else { NSLog(@"%@", errror); }文件的读取,文件的读取和写入其实是一个相反的过程
//读取操作 //创建路径 NSString *string1 = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSString *flPath = [string1 stringByAppendingPathComponent:@"test.txt"]; NSError *error1 = nil; NSString *string2 = [NSString stringWithContentsOfFile:flPath encoding:NSUTF8StringEncoding error:&error1]; if (error1) { NSLog(@"%@", error1); } else { NSLog(@"%@", string2); }那么,现在我们可以总结一下
文件的写入是以"writeToFile"开头
文件的读取是以"contentOfFire"
相关文章推荐
- IOS 初级数据持久化-沙盒机制
- iOS中的 沙盒文件夹 (数据的写入和读取,归档和反归档)
- ios开发: 模拟器和真机在写入和读取沙盒数据时的区别
- ios 数据持久化之沙盒
- iOS数据持久化,写入,归档和反归档
- IOS中的数据持久化之沙盒篇
- iOS,沙盒,做数据持久化的时候,有时候需要查看沙盒路径
- ios开发之---将数据写入和读取与沙盒的具体理解和实现。
- iOS编程------初级数据持久化/沙盒机制/NSFileManager/简单对象写入文件/复杂对象写入文件
- iOS初级数据持久化 沙盒机制 归档与反归档
- ios开发中数据追加写入沙盒路径而不是覆盖之前的数据
- [iOS]数据持久化-沙盒存储
- IOS之数据持久化 (简单对象写入文件)
- iOS中的 沙盒文件夹 (数据的写入和读取,归档和反归档)
- ios开发: 模拟器和真机在写入和读取沙盒数据时的区别
- iOS开发-数据持久化 :沙盒,归档反归档,NSFileManager文件管理器(单例)
- iOS中的UI数据持久化,沙盒
- iOS初级数据持久化 沙盒机制 归档与反归档
- iOS 数据持久化 NSUserDefault 的使用 NSUserDefaults读取和写入自定义对象
- iOS 数据持久化 NSUserDefault 的使用 NSUserDefaults读取和写入自定义对象