ž苹果为软件的运行提供了一个沙盒机制
每个沙盒含有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. 栅栏cyclicbarrier

    栅栏类似闭锁,但是它们是有区别的. 1.闭锁用来等待事件,而栅栏用于等待其他线程.什么意思呢?就是说闭锁用来等待的事件就是countDown事件,只有该countDown事件执行后所有之前在等待的线程 ...

  2. CodeForces 567B Berland National Library

    Description Berland National Library has recently been built in the capital of Berland. In addition, ...

  3. html-关于IE浏览器兼容性的问题,还有浏览器一直加载的问题。

    今天9月11日,所谓兼容性问题就是,标签 写的不规范导致的,因为高版本的IE会自动补上没写的标签 document.write('<object classid="clsid:d27c ...

  4. Phaser小游戏

    本来今天打算阅读AngularJs源代码的,但是上头下来了任务,做个小霸王上面的那种接金蛋的游戏,想象最近系统的学习了一下gulp和之前熟悉了一遍的Phaser,于是就打算用这两个东西一起来做个dem ...

  5. 转:web_submit_data和web_submit_form的差别

    在LoadRunner中有两个常用函数:Web_submit_form和Web_submit_data,在群里有人问这两个函数有什么区别.为什么会有两个不同却功能相似的函数.区别在哪里. 首先,从工具 ...

  6. HDU 5521 Meeting

    2015 ACM / ICPC 沈阳站现场赛 M题 最短路 设置N+M个节点,前N个节点是Block,后M个节点是Set,每一组Set中的点向该Set连边,从1和n开始分别求最短路.注意爆int. # ...

  7. copy ,abs,includes 3个函数

    copy:  Copy函数原型:标头: <algorithm> OutputIterator copy( InputIterator begin, InputIterator end, o ...

  8. html5 WebSocket 与 PHP socket 聊天室原理

    html js <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  9. JAV基础语法之---数据类型转换

    数制转换": 1.string 转 byte[] String str = "Hello";byte[] srtbyte = str.getBytes(); 2.byte ...

  10. mybatis+spring事务

    http://www.mybatis.org/spring/zh/transactions.html 第四章 事务 一个使用 MyBatis-Spring 的主要原因是它允许 MyBatis 参与到 ...