对文件的操作
一、 文件管理常用的类和方法
1、NSFileManager:
提供了对文件的基本操作类,对文件的删除、修改、移动、复制等内容
2、常用方法
创建一个新的文件并写入数据
- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
从一个文件中读取数据
- (NSData *)contentsAtPath:(NSString *)path;
srcPath路径上的文件移动到 dstPath 路径上
- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error;
比较两个文件的内容是否一样
- (BOOL)contentsEqualAtPath:(NSString *)path1 andPath:(NSString *)path2;
文件是否存在
- (BOOL)fileExistsAtPath:(NSString *)path;
移除文件
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error;
二、属性列表化
iOS数据持久性的一种方式,使用方便简单快捷
只能将Bool、NSNumber、NSString、NSData、NSDate、NSArray、NSDictionary 写入属性列表plist文件
对文件内容的操作
一、NSFileHandle
1、对文件常做的处理
1)对文件内容进行读取和写入操作
2)做断点续传
2、处理文件的步骤
1)创建一个NSFileHandle对象
2)对打开的文件进行I/O操作
3)关闭文件
3、不足
只可以读写文件,不能创建文件,创建文件使用NSFileManager
二、常用方法
打开一个文件准备读取
+ (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)closeFile;