当ios app应用被创建时,就会生成一个专有的沙盒,每个沙盒中包含有三个文件,分别是:Documents、Library和tmp。顾名思义,这三个文件夹的作用分别存放文件类的文件、存放库类的系统状态文件和临时存放的文件。
Document:一般存放需要持久的数据,iTunes备份和恢复会把该数据还原。(可在此目录中添加子文件夹方便数据分类)。该目录是用来备份数据的,如果该文件夹备份内容过大会不能通过Apple审核。
Library/Caches:设置程序的默认设置和其他状态信息。存放缓存文件,iTunes不会备份此目录。此目录应用退出后不会被删除。(数据需要长时间使用,又不需要备份的,将其放入Caches目录)
Tmp:临时文件的目录,存放临时,iTunes不会备份此目录,此目录可能在应用退出后被删除。(在内存吃紧的时候,tmp文件夹的内容会自动清除)
// 沙盒的主目录
NSString *homePath = NSHomeDirectory();
NSLog(@"homepath is = %@",homePath);
// 沙盒下的Documents目录
NSString *documentsPath = [homePath stringByAppendingPathComponent:@"Documents"];
NSLog(@"documentspath is = %@",documentsPath);
// 沙盒下的Library目录
NSString *libraryPath = [homePath stringByAppendingPathComponent:@"Library"];
NSLog(@"librarypath is %@", libraryPath);
// 沙盒下的tmp目录
NSString *tmpPath = [homePath stringByAppendingPathComponent:@"tmp"];
NSLog(@"tmp is %@", tmpPath);
// 获取文件路径的组成部分
NSArray *components = [tmpPath pathComponents];
NSLog(@"components is = %@", components);
// 获取文件的最后组成部分
NSString *lastName = [tmpPath lastPathComponent];
NSLog(@"lastName is = %@", lastName);
// 文件路径的追加
NSString *superaddtion = [tmpPath stringByAppendingPathComponent:@"text.png"];
NSLog(@"superaddtion is = %@",superaddtion);
// 文件路径删除最后组成部分
NSString *deleteLast =[tmpPath stringByDeletingLastPathComponent];
NSLog(@"deleteLast is = %@",deleteLast);
// 追加扩展名
NSString *extensionName = [tmpPath stringByAppendingPathExtension:@"txt"];
NSLog(@"extensionName is = %@", extensionName);
// 文件路径最后部分的扩展名 返回值为字符串
NSString * exten = [tmpPath pathExtension];
NSLog(@" 扩展名 is = %@", exten);