应用沙盒的文件系统目录
应用沙盒其实就是应用程序所在的那个文件夹,包含了所有的资源文件和可执行文件。
Documents:就是保存应用运行时生成的需要持久化的数据,什么是需要持久化的数据就是保存到硬盘里面的数据,下次我们开机还是可以看到的数据,iTunes在同步设备的时候回备份该目录,比如说游戏的存档一般都保存在该目录下。
tmp:保存应用运行时所需要的临时数据,使用完毕之后再将相应的数据从该文件夹删除,应用没有运行的时候,系统也有可能会清除该目录下的文件,iTunes同步的时候不会备份该目录。
Library/Caches:这个主要是保存应用运行时生成的需要持久化的数据,iTunes同步设备的时候不会备份这个目录,这个一般是存储体积大的、不需要备份的数据,举个例子其实就比如说网易新闻你刚启动的时候需要从网络上下载数据,当你网络关闭的时候把应用也关闭的时候你再点开,其实还是上一次加载的图片和信息,这个就是存在该目录下的。所以我们没有必要去备份它。
Library/Preference:就是保存应用的所有的偏好设置,ios的Setting应用会在该目录在查找应用的设置信息,iTunes同步设备的时候会去备份。就比如说你搜狗输入法里面的偏好设置啊,还有就是你LOL里面放技能的键盘快捷键的设置啊,还有就是设置自动登录啊都是可以用偏好设置进行设置的。
怎么获取Documents的路径?
方法1 用字符串拼接的方式
NSString * homePath=NSHomeDirectory();//获取沙盒根目录
NSString * str=[homePath stringByAppendingString:@"/Documents"];
当然这也也是可以的
NSString * homePath=NSHomeDirectory();
NSString * str=[homePath stringByAppendingPathComponent:@"Documents"];
方法2 用搜索的形式 SearchPath表示搜索的路径 ForDirectories表示搜索哪个文件夹InDomains表示在哪个区域当做搜索,这里返回的是个数据类型因为万一一个大的文件夹下面还有很多个小的文件夹呢。这里我们获取第一个就好了就能获得Documents文件夹的路径了。第三个参数是是否展开为完整路径,表示将~展开成完整路径,如果为NO,打印的就是这个~/Documents,否则就是完整路径NSString * documentsPath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
往Documents文件夹中写plist文件怎么写?如下所示
NSString * documentsPath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
NSString * filePath=[documentsPath stringByAppendingPathComponent:@"hh.plist"];
NSArray * array=@[@"哈哈",@"嘿嘿"];
[array writeToFile:filePath atomically:YES];
NSLog(@"%@",documentsPath);
取出plist文件中的数据NSArray * array=[NSArray arrayWithContentsOfFile:filePath];
,