iOS中的沙盒及对沙盒内文件的常见操作

数据持久化:数据的永久保存
数据持久化的本质是讲数据保存到文件中.
iOS当中,文件保存到沙盒中

沙盒:

对每一个程序创建一个沙盒,给他的文件系统,还有资源以严格的限制.

每个程序只能在为改程序创建的文件系统中读取文件

沙盒的本质是文件夹,名字是统一分配的

每个应用程序在iOS系统下都放在了一个统一的文件夹内


1 . 沙盒的四个路径

1.1  打印该程序的根路径

    NSLog(@"%@", NSHomeDirectory());

1.2   获取document文件夹路径

    NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];

1.3 获取cache文件夹路径

    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];

1.4 获取临时文件夹路径

    NSString *tempPath = NSTemporaryDirectory();


2.1 . 简单对象的保存 (字符串,数组,字典)

   以字典为例

 //  字典的保存

    NSDictionary *dict = @{@"name":@"wang",

                           @"sex":@"",

                           @"age":@"24"

                           };

    NSString *dictPath = [docPath stringByAppendingString:@"/个人信息.plist"];

    [dict writeToFile:dictPath atomically:YES];

    NSDictionary *resuDict = [[NSDictionary alloc] initWithContentsOfFile:dictPath];

    for (NSString *key in resuDict) {

        NSLog(@"%@", resuDict[key]);

    }


2.2  复杂对象的保存

   

 // NSData的保存

    NSString *str = @"天干物燥,小心火烛";

    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

    NSString *dataPath = [docPath stringByAppendingString:@"/data.data"];

    // data的写入

    [data writeToFile:dataPath atomically:YES];

    NSLog(@"%@", dataPath);

    // data的读取

    NSData *resuData = [NSData dataWithContentsOfFile:dataPath];

    NSString *s = [[NSString alloc] initWithData:resuData encoding:NSUTF8StringEncoding];

    NSLog(@"s   ------  %@", s);


   

3.1  文件管理器 --- 对沙盒内的文件和文件夹进行管理(添加,修改,删除,移动)

首先声明NSFileManager的manager属性,并将其初始化  

_manager = [[NSFileManager alloc] init];


3.1.1 创建文件夹



3.1.2 向已有的文件夹内添加文件  (field.text是文件夹名,field.text是文件名)



3.1.3 移动,修改文件



3.1.4 删除文件







 

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值