9、OC文件管理
来源:互联网 发布:java代理模式使用场景 编辑:程序博客网 时间:2024/06/04 14:02
1、应用程序沙盒机制
ios应用程序只能对自己创建的文件系统读取文件,这个独立,封闭,安全的空间,我们称为沙盒。它一般存放着你程序包文件(可执行文件)、图片、声音、视频、polist、sqlite数据库以及其他文件。
模拟器沙盒的位置
/Users/用户s/Library/Application Support/iphone Simulator
/Users/用户s/Library/Application Support/iphone Simulator
如下图所示:
Library 设置程序的默认设置和其他状态信息
tmp 创建临时文件的目录,当我们的Ios设备重启时,文件会被消除
获取沙盒目录
//获得程序的根目录 NSString *homePath = NSHomeDirectory(); NSLog(@"home %@",homePath); //获得Documents目录 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask,YES); NSLog(@"document : %@",[paths lastObject]); //获取Library目录 paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask,YES); NSLog(@"Library : %@",[paths lastObject]); //获取tmp路径 NSLog(@"home %@",NSTemporaryDirectory());
2、NSFileManager 文件操作
与java中的File类似,主要用于文件操作
主要功能
- 创建一个新的文件
- 重新命名文件
- 移动文件
- 复制文件
- 删除文件
- 文件是否存在
//创建文件 - (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr; //创建文件夹 - (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error NS_AVAILABLE(10_5, 2_0); //移动文件 - (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error NS_AVAILABLE(10_5, 2_0); //复制文件 - (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error NS_AVAILABLE(10_5, 2_0); //删除文件 - (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error NS_AVAILABLE(10_5, 2_0); //文件是否存在 - (BOOL)fileExistsAtPath:(NSString *)path;
3、NSFileHandler 文件处理
与Java的FIleInputStream、FileOutputStream类似,用于读取,写入数据。
常用处理方法
+ (id)fileHandleForReadingAtPath:(NSString*)path;// 打开一个文件准备读取+ (id)fileHandleForWritingAtPath:(NSString*)path; // 打开一个文件准备写入+ (id)fileHandleForUpdatingAtPath:(NSString*)path; // 打开一个文件准备更新(读取、写入)- (NSData*)availableData; // 从设备或通道返回可用的数据- (NSData*)readDataToEndOfFile; // 从当前的节点读取到文件未尾- (NSData*)readDataOfLength:(NSUInteger)length; // 从当前节点开始读取指定长度数据- (void)writeData:(NSData*)data; // 写入数据- (unsigned long long)offsetInFile; // 获取当前文件的偏移量(文件大小)- (void)seekToFileOffset:(unsigned long long)offset; //跳到指定文件的偏移量- (unsigned long long)seekToEndOfFile; //跳到文件未尾- (void)truncateFileAtOffset:(unsigned long long)offset;// 将文件的长度设为offset字节- (void)closeFile;// 关闭文件
0 0
- 9、OC文件管理
- 9、OC文件管理
- OC文件管理
- OC中的文件管理
- oc语言文件管理
- OC之文件管理NSFileHandle
- [OC学习笔记]文件管理
- OC学习 第十节 文件管理
- iOS - OC NSFileManager文件管理
- OC-9-内存管理
- OC之文件管理写入文件
- OC之文件管理复制文件
- OC循环渐进:文件管理常用操作
- OC之i文件管理NSFileHandle
- oc 文件管理NSFileManager,文件读写NSFileHandle 文件复制
- oc学习之旅:内存管理,文件操作流程
- OC基础学习——文件管理和文件操作
- OC的文件管理类NSFileManager类的使用详解
- mongodb 索引
- CF 401D Roman and Numbers
- 字符串+第i个字符+字符串
- Oracle 主键
- Rich Text
- 9、OC文件管理
- 独辟蹊径的编程思维——“拿来主义”编程
- subversion知识库
- 课本小Demo,ButtonDmeo
- 男子买福特轿车半月修3回 4S店:与用油质量有关
- 银行版余额宝进退两难
- 网站攻击代码(C#)
- RMQ (Range Minimum/Maximum Query)算法
- 面试可能会出现的问题