NSFileManager 解释:文件存储
这个类的主要功能是对文件进行操作:创建,复制,剪切,删除等
Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
Library:存储程序的默认设置或其它状态信息;
Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。
tmp:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。
实现:
获取沙盒根路径:
NSString *dirHome=NSHomeDirectory();
获取Documents目录路径
NSString *paths = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
获取Library目录路径,并在Library目录下创建一个名为test的文件夹
NSString *paths = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]stringByAppendingPathComponent:@"test"];
创建目录
BOOL res=[[NSFileManager defaultManager] createDirectoryAtPath:paths withIntermediateDirectories:YES attributes:nil error:nil];
打开Finder,确保鼠标在上面,快捷键 commend+shife+G,可以查看文件夹是否创建成功
创建文件
NSString *testPath = [paths stringByAppendingPathComponent:@"test.txt"];
写数据到文件
NSString *content=@"测试写入内容!";
BOOL res=[content writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
读文件数据
NSString *content1=[NSString stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding error:nil];
删除文件
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL res=[fileManager removeItemAtPath:testPath error:nil];