文件管理类【NSFileManager】

文件管理类【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;

你可能感兴趣的:(文件管理类【NSFileManager】)