每个ios程序都有自己的沙盒(sandBox),ios8之后提供沙盒部分开放
我们可以访问沙盒下的文件夹
文件夹包括:
1,documents:保存应用运行时生成的需要持久化的数据
2.tem:保存临时数据,系统重新启动自动消失
3.library:存储的程序默认的设置和其他信息
4.library/caches:保存临时文件
5.library/Preferences:保存偏好设置配置信息,sqlite数据
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//获取根目录
NSString *dir=NSHomeDirectory();
NSLog(@"%@"dir);//MAC下为:/users/tang,ios下不是这个
//documents 路径
//第一个参数:要获取的沙盒文件夹名称
//第二个参数://NSUserDomainMask = 1,//用户主目录中 NSLocalDomainMask = 2,//当前机器中 NSNetworkDomainMask = 4,//网络中可见的主机 NSSystemDomainMask = 8,//系统目录,不可修改(/System) NSAllDomainsMask = 0x0ffff,//全部
//第三个参数:YES/NO 是否获取全路径 YES
NSArray* arr=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 1, YES);
NSLog(@"%@",[arr objectAtIndex:0]);
//caches路径
arr=NSSearchPathForDirectoriesInDomains(NSCachesDirectory,1, YES);
NSLog(@"%@",[arr objectAtIndex:0]);
//library路径
arr=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, 1, YES);
NSLog(@"%@",[arr objectAtIndex:0]);
//tem路径
NSString *tem=NSTemporaryDirectory();
//应用,创建文件:
//library路径下的Preferences文件夹不能得到不能访问,只有拼接字符串
arr=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, 1, YES);
NSLog(@"%@",[arr objectAtIndex:0]);
NSString *path1= [[arr objectAtIndex:0] stringByAppendingPathExtension:@"Preferences/1.txt"];
NSString *data=@"写入文件,记录数据";
[data writeToFile:path1 atomically:YES encoding:NSUTF8StringEncoding error:nil];
}
return 0;
}