ž苹果为软件的运行提供了一个沙盒机制
每个沙盒含有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. Linux学习 -- 用户和用户组管理

    1 用户配置文件 1.1 用户信息文件 /etc/passwd 查看帮助 man 5 passwd -- account:password:UID:GID:GECOS:directory:shell ...

  2. MySQL架构优化:定时计划任务与表分区

    转自: MySQL架构优化实战系列3:定时计划任务与表分区 - 今日头条(TouTiao.com)http://toutiao.com/a6304736482361049345/?tt_from=mo ...

  3. Android Camera Api的心得

    (一) 前言最近看Camera的api,觉得写的真的不错.现在翻译过来,给大家分享分享,译文可能不太好,大家将就着看哈. (二) 正文1. CameraCamera是Android framework ...

  4. As Fast As Possible

    As Fast As Possible On vacations n pupils decided to go on excursion and gather all together. They n ...

  5. POJ 1062 昂贵的聘礼详解最短路变形

    POJ上难得一见的中文题…… 思路:建立一个以0为源点的地图,那么Map[0][n]的值代表 第n号物品的价值,Map[i][j]代表用 j  替代 i 后,物品j的价值.我们认为酋长的承诺为节点 ‘ ...

  6. C# 开发技巧]如何防止程序多次运行 线程 进程

    程序员必有一些好习惯,我的就是看到好文章就收下 文章来源   http://www.cnblogs.com/zhili/p/OnlyInstance.html 转载请注明出处 最近发现很多人在论坛中问 ...

  7. bootstrap中可用的图标集

  8. HDU 3652(数位DP)

    题目链接:B-number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  9. Java中Date对象与String互转

    package com.java.test; import java.text.ParseException; import java.text.SimpleDateFormat; import ja ...

  10. DHCP详解

    概述 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分 ...