OC中文件读取类(NSFileHandle)介绍和常用使用方法
NSFileHandle
1.NSFileManager类主要对于文件的操作(删除,修改,移动,赋值等等)
//判断是否有 tagetPath 文件路径,没有就创建NSFileManager *fileManage = [NSFileManager defaultManager];BOOL success = [fileManage createFileAtPath:tagetPath contents:nil attributes:nil];if (success) {NSLog(@"create success");}
2.NSFileHandle类主要对文件的内容进行读取和写入操作
①NSFileHandle处理文件的步骤
1:创建一个NSFileHandle对象
//创建流NSFileHandle *inFileHandle = [NSFileHandle fileHandleForReadingAtPath:srcPath];NSFileHandle *outFileHandle = [NSFileHandle fileHandleForWritingAtPath:tagetPath];
2:对打开的文件进行I/O操作
//获取文件路径NSString *homePath = NSHomeDirectory();NSString *filePath = [homePath stringByAppendingPathComponent:@"phone/Date.text"];NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];//定位到最后[fileHandle seekToEndOfFile];//定位到某个位置,100字节之后[fileHandle seekToFileOffset:100];//追加的数据NSString *str = @"add world";NSData *stringData = [str dataUsingEncoding:NSUTF8StringEncoding];//追加写入数据[fileHandle writeData:stringData];
3:关闭文件对象操作
//关闭流[fileHandle closeFile];
常用处理方法,读
//读取文件内容
void readByFile(){//文件路径NSString *homePath = NSHomeDirectory();NSString *filePath = [homePath stringByAppendingPathComponent:@"phone/cellPhone.text"];NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];NSInteger length = [fileHandle availableData].length;//跳转到指定位置[fileHandle seekToFileOffset:length/2];NSData *data = [fileHandle readDataToEndOfFile];NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];NSLog(@"%@",str);[fileHandle closeFile];}
复制文件
void copy2Other(){NSString *homePath = NSHomeDirectory();NSString *filePath = [homePath stringByAppendingPathComponent:@"phone/cellPhone.text"];NSString *tagetPath = [homePath stringByAppendingPathComponent:@"phone/cellPhone_bak.text"];//是否有这个文件,没有则创建NSFileManager *fileManage =[NSFileManager defaultManager];BOOL success = [fileManage createFileAtPath:tagetPath contents:nil attributes:nil];if (success) {NSLog(@"create success");}//通过 NSFileHandle 读取源文件,写入另一文件中NSFileHandle *outFileHandle = [NSFileHandle fileHandleForWritingAtPath:tagetPath];NSFileHandle *inFileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];NSData *data = [inFileHandle readDataToEndOfFile];[outFileHandle writeData:data];//关闭流[inFileHandle closeFile];[outFileHandle closeFile];
}
转载于:https://www.cnblogs.com/ShaoYinling/p/4746541.html
OC中文件读取类(NSFileHandle)介绍和常用使用方法相关推荐
- android 继承类图,Android Studio中绘制UML类图介绍
Android Studio中绘制UML类图介绍 Android Studio中绘制UML类图介绍 动机 最近开始阅读项目源码,从其中一个模块开始看,奈何大项目中的一个模块,对于萌新而言,也太过于复杂 ...
- Oracle数据库中调用Java类开发存储过程、函数的方法
Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日 浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...
- 计算机c盘属性不显示安全选项,win7系统中文件夹属性安全选项卡空白的解决方法...
在win7系统中,有小伙伴在使用文件夹属性的时候出现了问题,我们在win7系统中有小伙伴发现自己的文件夹属性中的"安全"选项卡不见了,安全选项卡是我们在win7系统中可以用来修改文 ...
- Java开发中文件读取方式总结
JAVA开发中,免不了要读文件操作,读取文件,首先就需要获取文件的路径.路径分为绝对路径和相对路径. 在文件系统中,绝对路径都是以盘符开始的,例如C:abc1.txt. 什么是相对路径呢?相对路径就是 ...
- windows文件读取 xxe_XML注入介绍--XXE,XEE,xpath等
网络安全 XML注入介绍--XXE,XEE,xpath等 XML注入指在请求的XML中插入攻击利用代码.根据不同的场景,可能会形成以下的漏洞形式: (1)XEE ----xml entity xpan ...
- java assetmanager_Android学习--Assets资源文件读取及AssetManager介绍
APK安装过程 复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录,An ...
- qt中文件读取的方法(新手入门必看)
TxT文本文件读取 qt中三个常用的处理文件的头文件: QDataStream QTextStream QFile txt文件读取(以字符数组形式读取) Widget::Widget(QWidget ...
- python中文件读取不出来_Python文件读取
一文件读取 aa.txt: 登鹳雀楼 白日依山尽,黄河入海流. 欲穷千里目,更上一层楼. 1读取整个文件 filename = 'E:/COLDDEMO/Python/src/FirstDay/文件读 ...
- python中文件读取操作及注意事项
我们想要读一些文件,那么可以使用read()函数.readline()函数.或者readlines()函数. 其中read()函数可以一次性读取文件中所有的内容,也可以设置read(100),也就是一 ...
最新文章
- 从百度地图看北京和上海
- Cypress 基础 - 元素的定位
- textjoin去重_SuperJoinText这个函数,弥补了TEXTJOIN的缺憾
- 862. 和至少为 K 的最短子数组
- 前端学习(2932):vue中的v-if
- 书籍推荐-记这几年看的书
- LeetCode 1503. 所有蚂蚁掉下来前的最后一刻(脑筋急转弯)
- DOM中Property与Attribute的区别
- Telnet服务安装及配置
- 知识点滴 - 什么是量词
- Echarts教程篇:概览
- ProE 5.0免安装版软件安装教程
- ape格式转换ogg格式使用什么软件
- oracle去空格去不掉,oracle去掉空格
- JAVA简单项目购物系统的整个开发过程详解(内含源码和注释)
- 深入理解Java虚拟机-垃圾收集算法
- 【福利帖】当我谈学习视觉时,我谈些什么
- 【网络模拟】网络环境模拟搭建
- 自然数 素数 质数_素数列表–最多20,000个素数的图表
- 奥林巴斯新微单E-M5II曝光:合金机身可防水
热门文章
- 5页面title样式修改_认识html:实现网站页面是这么简单的一回事
- c遗传算法的终止条件一般_Matlab2 :Matlab遗传算法(GA)优4~-r-具箱是基于基本操作 联合开发网 - pudn.com...
- error: storage size of ‘threads’ isn’t known
- μC/OS-Ⅱ 操作系统内核知识
- stl vector 函数_vector :: crend()函数以及C ++ STL中的示例
- 2016_icpc_dalian_onsite
- uva 10602——Editor Nottoobad
- LeetCode【11--盛水最多的容器】LeetCode【12 -- 整数转罗马数字】
- 链表题目--1 删除链表中所有等于val的值
- Linux系统编程(五)时序竞态