IOS获得各种文档文件夹路径的方法

时间:2022-09-25 13:33:34

iphone沙箱模型的有四个目录,各自是什么,永久数据存储一般放在什么位置。得到模拟器的路径的简单方式是什么.

documents,tmp。app,Library。

(NSHomeDirectory())。

手动保存的文件在documents文件中

Nsuserdefaults保存的文件在tmp目录里

1、Documents 文件夹:您应该将全部de应用程序数据文件写入到这个文件夹下。

这个文件夹用于存储用户数据或其他应该定期备份的信息。

2、AppName.app 文件夹:这是应用程序的程序包文件夹。包括应用程序的本身。因为应用程序必须经过签名,所以您在执行时不能对这个文件夹中的内容进行改动。否则可能会使应用程序无法启动。

3、Library 文件夹:这个文件夹下有两个子文件夹:Caches 和 Preferences

Preferences 文件夹:包括应用程序的偏好设置文件。

您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.

Caches 文件夹:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中须要的信息。

4、tmp 文件夹:这个文件夹用于存放暂时文件,保存应用程序再次启动过程中不须要的信息。

获取这些文件夹路径的方法:

1,获取家文件夹路径的函数:

NSString *homeDir = NSHomeDirectory();

2,获取Documents文件夹路径的方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *docDir = [paths objectAtIndex:0];

3,获取Caches文件夹路径的方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

NSString *cachesDir = [paths objectAtIndex:0];

4,获取tmp文件夹路径的方法:

NSString *tmpDir = NSTemporaryDirectory();

5,获取应用程序程序包中资源文件路径的方法:

比如获取程序包中一个图片资源(apple.png)路径的方法:

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”apple” ofType:@”png”];

UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];

代码中的mainBundle类方法用于返回一个代表应用程序包的对象。

iphone沙盒(sandbox)中的几个文件夹获取方式:
  1. // 获取沙盒主文件夹路径
  2. NSString *homeDir = NSHomeDirectory();
  3. // 获取Documents文件夹路径
  4. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  5. NSString *docDir = [paths objectAtIndex:0];
  6. // 获取Caches文件夹路径
  7. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
  8. NSString *cachesDir = [paths objectAtIndex:0];
  9. // 获取tmp文件夹路径
  10. NSString *tmpDir =  NSTemporaryDirectory();
  1. // 获取当前程序包中一个图片资源(apple.png)路径
  2. NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"apple" ofType:@"png"];
  3. UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];

样例:

NSFileManager* fm=[NSFileManager defaultManager];

if(![fm fileExistsAtPath:[self dataFilePath]]){

//以下是对该文件进行制定路径的保存

[fm createDirectoryAtPath:[self dataFilePath] withIntermediateDirectories:YES attributes:nil error:nil];

//取得一个文件夹下得全部文件名称

NSArray *files = [fm subpathsAtPath: [self dataFilePath] ];

//读取某个文件

NSData *data = [fm contentsAtPath:[self dataFilePath]];

//或者

NSData *data = [NSData dataWithContentOfPath:[self dataFilePath]];

}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

IOS获得各种文档文件夹路径的方法的更多相关文章

  1. 【原】中文Ubuntu主目录下的文档文件夹改回英文

    想把中文Ubuntu主目录下的文档文件夹改回英文,在Terminal下面操作的时候要输入中文特别不方便,于是便用了更改名字的想法 方法一: 首先把那几个中文名称修改成相应的英文,比如 Desktop. ...

  2. Delphi获取文件名、不带扩展名文件名、文件所在路径、上级文件夹路径的方法

    1.获取不带扩展名的文件名方法,利用ChangeFileExt函数修改传入参数的扩展为空,并不会对文件本身产生变更. ChangeFileExt(ExtractFileName('D:\KK\Test ...

  3. VC 获取指定文件夹路径的方法小结

    VC获取指定文件夹路径 flyfish  2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath( ...

  4. MAC在Finder栏显示所浏览文件夹路径的方法

    我们在使用MAC时,Finder栏默认只显示当前浏览的文件夹名称,而没有显示访问路径,这个问题该怎么解决呢? 操作步骤: 打开“终端”(应用程序->实用工具),输入以下两条命令: default ...

  5. java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

    java 弹出选择目录框(选择文件夹),获取选择的文件夹路径 java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String ...

  6. [C#]Windows系统特殊文件夹路径获取

    原文:[C#]Windows系统特殊文件夹路径获取 由于软件开发的需要,近期对Windows特殊文件夹(如桌面,我的文档等)路径的查找方法进行了研究,结果如下. 获取特殊文件夹的方法不止一种,下面列出 ...

  7. C#利用浏览按钮获得文件路径和文件夹路径

    生成文件夹路径 private void btnChoose_Click(object sender, EventArgs e) {            using (OpenFileDialog ...

  8. Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

    这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException ...

  9. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 	用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

随机推荐

  1. Atitit learn by need 需要的时候学与预先学习知识图谱路线图

    Atitit learn by need 需要的时候学与预先学习知识图谱路线图 1. 体系化是什么 架构 知识图谱路线图思维导图的重要性11.1. 体系就是架构21.2. 只见树木不见森林21.3. ...

  2. Topshelf 创建windows服务注意事项

    其中项目应该是控制台应用程序 test.exe需要赋与管理员权限,右键属性可以定义. test.exe  install test.exe unstall

  3. PL/SQL如何导入dmp文件

    -------------创建表空间 create tablespace portal_data datafile'E:\OracleDB\System_TableSpace\portal_data0 ...

  4. SQLite中文排序

    定义一个类: using System.Data.SQLite; namespace DAL { /// <summary> /// SQLite中文排序 /// </summary ...

  5. 60行JavaScript俄罗斯方块

    <!doctype html><html><head></head><body> <div id="box" st ...

  6. 多语言本地化开发Localized

    NSString * ViewsLocalizedStringFormat(NSString *key,NSString *defValue); // Handle localized strings ...

  7. 微软职位内部推荐-Principal Software Developer

    微软近期Open的职位: Contact Person: Winnie Wei (wiwe@microsoft.com ) Work Location: Suzhou/Beijing News is ...

  8. mysql的主从复制配置

    怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1.主从服务器分别作以下操作:  1.1.版本一致  1.2.初始化表,并在后台启动mysql  1.3.修改root的密码 2.修 ...

  9. Django 2&period;0 学习&lpar;03&rpar;:Django视图和URL&lpar;下&rpar;

    接上篇博文,继续分析Django基本流程. 编写第一个(view)视图函数 1.打开文件polls/views.py,输入下面的Python代码: from django.http import Ht ...

  10. Mysql逻辑分层、存储引擎

    Mysql的逻辑分层: 连接层 服务层 引擎层 存储层 常见的数据库引擎有InnorDB和MylSAM. InnorDB:事物优先,(适合高并发操作:行锁,顾名思义一次锁一行数据) MylSAM:性能 ...