美文网首页
文件管理类【NSFileManager】

文件管理类【NSFileManager】

作者: 洛河水手 | 来源:发表于2019-06-22 12:30 被阅读0次

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

          本文链接:https://www.haomeiwen.com/subject/hmopyttx.html