应用程序沙盒的基本概念
iOS中的沙盒(sandbox)机制
iOS应用程序只能对自己创建的文件系统读取文件,这个“独立”“封闭”“安全”的空间,我们称为沙盒。
它一般存放着你的程序包文件(可执行文件)、图片、声音、视频、plist、sqlite数据库以及其他文件。
每个应用程序都有自己的独立的存储空间(沙盒)
一般来说应用程序间是不可以相互访问
模拟器沙盒的位置
/Users/userName/Library/Application Support/iPhone Simulator
NSString类路径处理常用方法
文件路径的处理
在某些时候,我们需要对获取的文件目录,做一些特殊处理,已达到所需要的目的。比如有这样一个文件目录,如下:
// 对目录做处理:/Users/apple/testfile.text
NSString *path = @"/Users/apple/testfile.text";
常用方法如下:
// 获得组成此路径的各个组成部分,结果:(“/”,” Users”, “apple”, ”testfile.text”)
- (NSArray *)pathComponents;
// 提取路径的最后⼀一个组成部分,结果:testfile.text
- (NSString *)lastPathComponent;
// 删除路径的最后⼀一个组成部分,结果:/Users/apple
- (NSString *)stringByDeletingLastPathComponent;
NSData类基本概念
NSData是用来包装数据用的
NSData存数的是二进制数据,这样就屏蔽了数据之间的差异,文本、音频、图像等数据都可以用NSData来存储
NSMutableData继承NSData类,可以对该对象进行数据修改
NSFileManger——文件管理类的常用操作
NSFileManager类提供了对文件的基本操作类,主要功能如下:
创建一个新的文件
从现有文件读取数据
将数据写入文件
重新命名文件
移动文件
复制文件
删除文件
测试文件是否存在
数据持久性——属性列表化
概念:iOS数据持久性的一种方式,使用方便简单快键
数组、字典只能将Bool、NSNumber、NSString、NSData、NSDate
、NSArray、NSDictionary 写入属性列表plist文件
NSFileHandle——文件内容读取
NSFileManager类主要对文件的操作(删除、修改、移动、复制等等)
NSFileHandle类主要对文件内容进行读取和写入操作
NSFileHandle处理文件的步骤
创建一个NSFileHandle对象
对打开的文件进行I/O操作
关闭文件
可以使用NSFileHandle做文件的断点续传
NSFileHandle 只可以读写文件,不能创建文件,创建文件使用NSFileManager