文件管理类【NSFileManager】是一个单例类 对文件本身的操作对文件进行管理,必须要获取文件管理器NSFileManager类的单例对象NSFileManager * fm = [NSFileManager defaultManager]; <1>创建文件管理器单例对象 NSFileManager * fm = [NSFileManager defaultManager]; <2>遍历目录下的内容 //浅度遍历( ) - (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error; //深度遍历(当前文件夹里所有文件名和文件夹名) - (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError **)error <3>创建文件 //创建普通文件 - (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr; //创建目录 - (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error ; <4>拷贝文件/目录 - (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error ; <5>移动文件/目录 - (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error ; <6>删除文件/目录 - (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error; <7>获取文件属性 - (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error; <8>判断文件是否存在 - (BOOL)fileExistsAtPath:(NSString *)path; 【NSData】二进制数据 //把字符串转化为NSData(****重要****) NSString *str = @"aaaaa"; NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; //NSData 转化为字符串(*****重要****) NSString *newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 二 对文件内容的修改文件句柄类【NSFileHandle】 不是一个单例类文件的代言人,是个对象,象征文件 从文件句柄里读取信息,就是从文件中读取信息 往文件句柄里写入信息,就是向文件中写入信息 对文件进行读写首先需要NSFileHandle打开文件 NSFileHandle对文件进行读写都是NSData类型的二进制数据 NSFileHandle方法: <1>打开文件方法() NSFileHandle *readFh = [NSFileHandle fileHandleForUpdatingAtPath:filePath]; //以只读方式打开 + (id)fileHandleForReadingAtPath:(NSString *)path; //以只写方式打开 + (id)fileHandleForWritingAtPath:(NSString *)path; //以读写方式打开 + (id)fileHandleForUpdatingAtPath:(NSString *)path; //刚打开的文件偏移量为0 <2>从偏移量开始读指定长度的数据,每读一次都会改变偏移量 - (NSData *)readDataOfLength:(NSUInteger)length; <3>从当前偏移量读到文件尾 - (NSData *)readDataToEndOfFile; <4>设置文件偏移量 - (void)seekToFileOffset:(unsigned long long)offset; <5>将文件偏移量定位到文件尾 - (unsigned long long)seekToEndOfFile; <6>将文件的长度设置为offset大小(单位为字节) - (void)truncateFileAtOffset:(unsigned long long)offset; <7>写文件(会从文件偏移量开始用覆盖模式写) - (void)writeData:(NSData *)data; <8>截断原数据到指定字节数 - (void)truncateFileAtOffset:(unsigned long long)offset; <9> 把要二进制文件立即同步写入到磁盘- (void)synchronizeFile;