iOS-文件路径的保存

在iPhone的沙箱模型有四个文件夹,分别是documents、tmp、app、library。

创建文件的时候会先创建文件的路径,方法如下:

1、Documents:这是文档目录。有关应用的所有数据文件应该写入到这个目录下,这个目录用于存储用户数据或者其他应该定期备份的信息。

获取Documents目录路径的方法:

NSString*documentPath  = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory , NSUserDomainMask , YES ).firstObject;

这里的firstObject改成lastObject也可以,因为该目录下只有一个文件夹。

注:

上面NSDocumentDirectory参数一位置:directory为获取哪个文件夹

NSUserDomainMask 参数二位置:domainMask为在哪个范围内搜索,NSUserDomainMask 表示在用户的手机上查找

YES 参数三位置:expandTilde为是否展开全路径。YES:表示展开全路径;NO:不会展开全路径,会把应用沙盒的路径用波浪号(~)代替

2、AppName.app:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。

获取AppName.app 目录路径:

NSString  *path = [[NSBundlemainBundle]bundlePath];

3、Library:库目录。这个目录下面还有两个子目录:Caches 和 Preferences

Caches目录:

缓存目录。用于存储应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。iTunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。

NSString  *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;


Perferences目录:

包含应用程序的编号设置文件,存放NSUserDefaults保存的.plist文件。iTunes同步该应用时会同步该文件夹中的内容。

NSUserDefaults  *userDefaults = [NSUserDefaultsstandardUserDefaults];

//直接调用方法就能保存入偏好设置里面

[userDefaults setObject:@"hello"forKey:@"hello"];

[userDefaults synchronize];

4、Library/Application Support目录:

[NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory,   NSUserDomainMask, YES) objectAtIndex:0];

5、tmp:临时文件夹。iTunes不会同步此文件夹,里面存的是临时文件,随时可以被删除,一般不怎么用

NSString  *tmppath  = NSTemporaryDirectory();

6、获取沙盒主目录路径  

NSString*homePaht =NSHomeDirectory();



常见的NSFileManager文件方法

借鉴链接

你可能感兴趣的:(iOS-文件路径的保存)