您的位置:首页 > 编程语言

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: