一、目录结构说明
每个程序都有自己的 Sandbox 沙盒,并且不能直接访问
沙河目录结构:
第一部分Bundle Container
------AppName.app
AppName.app:工程中用到的文件都在这个app内部
第二部分Data Container
------Documents
------Library
----------Caches
----------Preferences
------tmp
Documents: 用于存储用户数据或其它应该定期备份的信息
Caches : 保存应用程序再次启动过程中需要的信息。您的应用程序通常需要负责添加和删除这些文件,但在对设备进行完全恢复的过程中,iTunes会删除这些文件
Preferences : 应用程序的偏好设置文件
tmp : 存放临时文件,保存应用程序再次启动过程中不需要的信息
二、获取各个路径的方法
//-----------Documents :
NSString* documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSLog(@"documentsDirectory----%@\n\n",documentsDirectory);
//或者
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory1 = [paths objectAtIndex:0];
//----------Library
NSString* LibraryDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Library"];
//或者
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, YES);
NSString *LibraryDirectory1 = [paths objectAtIndex:0];
//-----------Cache
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory1 = [paths objectAtIndex:0];
//----------test.app
NSString *str = [[NSBundle mainBundle] resourcePath];
NSLog(@"str---%@\n\n",str);//你所导入的文件就放在这里,文章开头已经说了如何获取其路径
//----------获取 根目录
NSHomeDirectory();