Document目录相关代码总结
2015-10-09 17:01
344 查看
通常用Document进行持久化保存,
//创建目录字符串(只是拼接了一个目录字符串)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"xxx.plist"];
//检测目录是否存在
NSFileManager *fileManager = [NSFileManager defaultManager];
if(![fileManager FileExistAtPath:filePath]){
//创建目录
[fileManager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil];
//取得目录下的所有文件
NSArray *files = [fileManager subpathsAtPath: filePath ];
//读取目录下的某一个文件
NSData *data = [fileManager contentsAtPath:filePath];
//或
NSData *data = [NSData dataWithContentOfPath:filePath];
}
应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件:
1)、Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录
2)、tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除(NSHomeDirectory()定位到tmp的上一级目录)
3)、Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除(NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES))
获取到文件并打印文件内容:
NSString *myFilePath = [[NSBundle mainBundle]
pathForResource:@"f"
ofType:@"txt"];
NSString *myFileContent=[NSString stringWithContentsOfFile:myFilePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"bundel file path: %@ \nfile content:%@",myFilePath,myFileContent);
//创建目录字符串(只是拼接了一个目录字符串)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"xxx.plist"];
//检测目录是否存在
NSFileManager *fileManager = [NSFileManager defaultManager];
if(![fileManager FileExistAtPath:filePath]){
//创建目录
[fileManager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil];
//取得目录下的所有文件
NSArray *files = [fileManager subpathsAtPath: filePath ];
//读取目录下的某一个文件
NSData *data = [fileManager contentsAtPath:filePath];
//或
NSData *data = [NSData dataWithContentOfPath:filePath];
}
应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件:
1)、Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录
2)、tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除(NSHomeDirectory()定位到tmp的上一级目录)
3)、Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除(NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES))
获取到文件并打印文件内容:
NSString *myFilePath = [[NSBundle mainBundle]
pathForResource:@"f"
ofType:@"txt"];
NSString *myFileContent=[NSString stringWithContentsOfFile:myFilePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"bundel file path: %@ \nfile content:%@",myFilePath,myFileContent);
相关文章推荐
- libxml2编程--C语言xml初使用(2)
- libxml2编程--C语言xml初使用(2)
- libxml2编程--C语言xml初使用(2)
- python导入sklearn模块出现DLL load failed的解决办法
- Hibernate框架的基本搭建(一个小的java project的测试向数据库中插入和查询数据的功能)
- Java基础知识强化之IO流笔记35:InputStreamReader(Reader字符流的子类)2种read数据方式
- C#——变量
- 深入分析C#键盘勾子(Hook)拦截器,屏蔽键盘活动的详解【方便自己学习查阅】
- 深入理解java嵌套类和内部类
- Java学习笔记--Collection和Collections的区别
- C++STL之组件
- git提交代码步骤
- python 闭包
- php 上传文件到远程服务器
- mybatis逆向工程生成代码
- Java求任意一组数正数负数平均数的个数
- (转载)如何看代码
- sntp协议简介
- MongoEngine中文参考
- Java - How HashMap works in Java