ž苹果为软件的运行提供了一个沙盒机制
每个沙盒含有3个文件夹:Documents, Library 和 tmp。因为应用的沙盒机制,应用只能在几个目录下读写文件
žDocuments:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
žLibrary:存储程序的默认设置或其它状态信息;
žLibrary/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除;
žtmp:提供一个即时创建临时文件的地方,
 
这三个文件夹如图:
 
 
 
对于Documents和Library可以有几种方式去获得它的路径,而tmp只有一种方式。这些获取路径的方式大多是C语言中的文件操作函数。
 
 //    获得并打印本app的沙盒,里面有三个文件夹,doucment,library,tmp
NSString * homepath = [NSString stringWithFormat:@"%@",NSHomeDirectory()];
NSLog(@"%@",homepath); // 获得并打印document路径的第一种方法
NSString *documentPath = [NSString stringWithFormat:@"%@/Documents",NSHomeDirectory()];
NSLog(@"%@",documentPath); // 获得并打印document路径的第二种方法,拿到的是一个数组,而document路径是这个数组的第一个元素。
NSArray *documentPath2 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSLog(@"%@",[documentPath2 objectAtIndex:]); // 获得并打印caches路径的方法1:
NSArray *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSLog(@"%@",cachePath[]); // 获得并打印cache路径的方法2:
NSString *cachePath2 = [NSString stringWithFormat:@"%@/Library/Caches",NSHomeDirectory()];
NSLog(@"%@",cachePath2); // 获取并打印tmp路径的方法
NSString *tmpPath = NSTemporaryDirectory();
NSLog(@"%@",tmpPath);
 
在程序文件夹中创建一个新的文件夹的操作;
 //    在document下面创建一个文件夹
// 先创建一个路径
NSString *newPath = [NSString stringWithFormat:@"%@/Documents/New",NSHomeDirectory()];
NSLog(@"%@",newPath);
// 再使用之前创建的路径使用NsFileManager去创建一个文件夹,yesOrNo返回是否创建成功的消息
BOOL yesOrNo = [[NSFileManager defaultManager]createDirectoryAtPath:newPath withIntermediateDirectories:YES attributes:nil error:nil];

新建完成后在Documents下面多了一个文件夹New。

创建文件new.mp3:

 //    创建文件
// 先把文件路径和文件名定义好
NSString *newfile = [NSString stringWithFormat:@"%@/new.mp3",newPath];
// 使用createFileAtPath创建文件
[[NSFileManager defaultManager]createFileAtPath:newfile contents:nil attributes:nil];

删除文件new.mp3

 //    删除文件
[[NSFileManager defaultManager]removeItemAtPath:newfile error:nil];

IOS开发-UI学习-沙盒机制&文件操作的更多相关文章

  1. IOS 学习之 iOS沙盒(sandbox) 介绍 沙盒机制 文件操作(一)

    1.iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. ...

  2. iOS开发之获取沙盒路径

    iOS开发之沙盒机制(SandBox)具体解说了沙盒的一些机制.在开发中,我们须要对沙盒进行操作.所以我们须要获取到沙盒路径. 沙盒里的目录包含Documents.Library.tmp.这三个目录的 ...

  3. iOS开发UI篇—Quartz2D使用(矩阵操作)

    iOS开发UI篇—Quartz2D使用(矩阵操作) 一.关于矩阵操作 1.画一个四边形 通过设置两个端点(长和宽)来完成一个四边形的绘制. 代码: - (void)drawRect:(CGRect)r ...

  4. iOS开发之应用沙盒

    1.应用沙盒概述 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒. 应用沙盒的文件系统目录,如下图所示(假设应用的名 ...

  5. iOS沙盒目录文件操作

    简介 沙盒(NSHomeDirectory())中总共有四个文件夹,documents.tmp.app.Library; 手动保存的文件在documents文件里; Nsuserdefaults保存的 ...

  6. iOS之沙盒机制和如何获取沙盒路径

    iOS APP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒.每一个APP都是一个信息孤岛,相互是不可以进行通信的,唯独可以通过URL Scheme.沙盒里面的文件可以是照片.声音文件. ...

  7. iOS - 沙盒机制(SandBox)和获取沙盒路径

    iOSAPP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒.每一个APP都是一个信息孤岛,相互是不可以进行通信的,唯独可以通过URLScheme.沙盒里面的文件可以是照片.声音文件.文本 ...

  8. QF——iOS沙盒机制

    iOS沙盒机制: 什么是沙盒机制?  点击进入  点击进入 沙盒机制(SandBox)是一种安全体系,它规定了APP的所有文件数据都必须存储在这片区域.所有非代码文件的数据都保存在这片区域. 沙盒里有 ...

  9. iOS 阶段学习第25天笔记(iOS沙盒机制介绍)

    iOS学习(OC语言)知识点整理 一.iOS沙盒机制介绍 1)概念: 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒 ...

随机推荐

  1. .NET 4.0里异常处理的新机制

    非原创,转载自:   http://www.cnblogs.com/killmyday/archive/2010/09/05/1818533.html .NET里不能捕捉(catch)到一些异常了,而 ...

  2. javascript 之Function对象的apply(),call(),bind(),方法和arguments,caller,length属性

    注:这篇文章原文:http://www.jb51.net/article/30883.htm 自己作为学习,重新写写. 一.写在前面的话 前端javascript编程还只是略懂皮毛,DOM知道一点,j ...

  3. 转 windows 下 Oracle 导出表结构

      分析Oracle下导出某用户所有表的方法 可能很多使用Oracle的客户都会遇到想把某用户所有表导出的情况,本文就提供这样一个方法帮你轻松解决这个问题. 首先在sqlplus下以该用户登录到Ora ...

  4. 常用的dos命名

    注销:logoff 注册表:regedit 查看显存:dxdiag 删除文件: del +文件 删除文件夹: rd+(/s)+文件名 (/s表示删除文件下的子目录和文件); 系统配置实用程序: msc ...

  5. L11,one good turn deserves another

    one good turn deserves another 礼尚往来 gets a good salary 有一份很好的薪水 never pays it back 从不归还 deserve  应得的 ...

  6. JS和CSS加载(渲染)机制不同

    一.结论 CSS可以在页面加载完成后随时渲染.举个例子:通过js给某个元素加一个id或者css,只要这个id或者css有对应的样式,此元素的样式就会自动生效. JS不可以在页面加载完成后生效.最明显的 ...

  7. java实现webservice

    第一步:web工程--新建server-config.wsdd 文件与web.xml同级 其内容如下 <?xml version="1.0" encoding="U ...

  8. MFC中的NMHDR结构体和NMUPDOWN结构体

    建立spin控件,创建UDN_DELTAPOS一个消息函数后: void CSpinDlg::OnDeltaposSpin1(NMHDR* pNMHDR, LRESULT* pResult) { NM ...

  9. 三列布局,读《css那些事儿》

    1.两列定宽,中间自适应 要点:浮动.负边距效果.mainbox增加内容div并设置margin.:after清除浮动 原理:mainbox的浮动并将其宽度设置为100%,次要内容及侧边栏设置固定宽度 ...

  10. MySQL:MySQL的安装

    一.Linux:MySQL的源码安装 1.安装前的准备 在安装之前需要安装一下必备的包和工具 gcc/g++:MySQL5.6开始,需要使用g++进行编译. cmake:MySQL5.5开始,使用cm ...