文件句柄NSFileHandle
//一.读取
//1.以只读方式打开
NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:txtPath];
//2.读取所有内容
NSData *allData = [fh readDataToEndOfFile];
//转化str
NSString *str = [[NSString alloc]initWithData:allData encoding:NSUTF8StringEncoding];
NSLog(@"--%@",str );
//3.读取指定长度
//(注意:中文占3个字节)
//(注意:会接着上一次继续读取)
NSData *subData = [fh readDataOfLength:3];
NSString *str1 = [[NSString alloc]initWithData:subData encoding:NSUTF8StringEncoding];
NSLog(@"--%@--%ld",str1,str1.length);
//4.偏移(定位到某个字节,然后再读)
[fh seekToFileOffset:4];
NSData *offData = [fh readDataToEndOfFile];
NSString *str2 = [[NSString alloc]initWithData:offData encoding:NSUTF8StringEncoding];
NSLog(@"--%@--%ld",str2,str2.length);
//5.关闭文件
[fh closeFile];
//二.写入
//只写
NSFileHandle *fh = [NSFileHandle fileHandleForWritingAtPath:txtPath];
//读,写
// NSFileHandle *fh1 = [NSFileHandle fileHandleForUpdatingAtPath:txtPath];
//1.设置偏移到最后
[fh seekToEndOfFile];
//.注意:如seek到某个字节:是覆盖后面内容,不是插入
//[fh seekToFileOffset:3];
//2.写入
NSData *data = [@"writeToText" dataUsingEncoding:NSUTF8StringEncoding];
[fh writeData:data];
文件句柄NSFileHandle的更多相关文章
- IOS之NSFileManager 和NSFileHandle
在现阶手机app的临时缓存文件渐渐增多,在app开发中对于移动设备文件的操作越来越多,我们IOS中对于文件的操作主要涉及两个类NSFileManager 和NSFileHandle,下面我们就看看如何 ...
- [iOS 多线程 & 网络 - 2.4] - 大文件下载 (边下边写/暂停恢复下载/压缩解压zip/多线程下载)
A.需求 边下边写入硬盘 显示下载进度 暂停/恢复 下载 解压文件 多线程下载 B.基本知识 1.小文件下载 如果文件比较小,下载方式会比较多直接用NSData的+ (id)dataWithCon ...
- OC10_文件练习
// // TextHander.h // OC10_文件练习 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zha ...
- OC9_文件操作
// // main.m // OC9_文件操作 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zhangxuemi ...
- iOS-网络编程(二)文件上传和断点离线下载
一. iOS中发送HTTP请求的方案 在iOS中,我们常用发送HTTP请求的方案有苹果原生(自带)NSURLConnection:用法简单,最古老最经典最直接的一种方案 (iOS 9.0弃用)NSUR ...
- iOS开发中多线程断点下载大文件
主要思想,就是创建一个与目标文件等大小的空白文件,然后分段往这个空白文件中写入数据. 可以通过发送HEAD请求,获得服务器中文件的具体大小,然后再将这样的长度分割成若干等大的数据块,在发送get请求时 ...
- OC文件操作2
1.对文件本身的操作 NSManager 2.对文件内容的操作 NSHandle 文件句柄 NSFileHandle * fh = [NSFileHandle fileHandleForReading ...
- UI:文件操作、通知中心
对文件的操作: #define PATH @"/Users/mac/Desktop/未命名文件夹" #define ERROR(a) if(a){NSLog(@"%@&q ...
- NSFileHandle
/* 文件处理句柄要完成的工作: 相当于C中的文件操作,诸如 打开,读,写,关闭,修改文件偏移量等行为 类名: NSFileHandle 注意: 操作句柄时,重点把握文件的偏移量在哪个位置 重点 ...
随机推荐
- Bypassing iPhone Code Signatures
[Bypassing iPhone Code Signatures] Starting with the recent beta releases of the iPhoneOS, Apple has ...
- C#使用HttpHelper类抓取html网页内容
HttpHelper类(苏飞版)下载地址: http://www.sufeinet.com/thread-3-1-1.html 使用方法及说明(摘自:http://blog.csdn.net/smar ...
- 03-nginx虚拟主机配置
不想用kill命令控制nginx也行,但是其他命令没有信号的命令丰富.重读配置文件不用重启nginx(软重启).完全可以使用stop(强制退出).quick(优雅退出).reopen(重新打开日志). ...
- 2-JRE System Libraty [eclipse-mars](unbound)
- ubuntu 64 14.04 共享文件夹问题
转自http://blog.csdn.net/gongyuan073/article/details/46604233 原文链接: http://blog.csdn.NET/chinley/artic ...
- c语言练习 二维数组 年平均降水量 月平均降水量
#define YEARS 5#define MONTHES 12 int main(void) { const float rain[YEARS][MONTHES] = { {4.3,4.3,4.3 ...
- jQuery--修改表单数据并提交
目的: 点击'编辑',弹出对话框,修改数据. 主要知识点: prevAll(),获取同级别本元素前面的所有元素. 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- TreeView的绑定与读取
/// <summary> /// 绑定TreeView /// </summary> public void BindTreeVie ...
- IP命令的用法详解
IP命令的用法详解 原创 2017-06-29 10:02:34 0932 摘自:http://www.php.cn/linux-371363.html ip命令是Linux下较新的功能强大的 ...
- mysql_5.6内存过高问题解决
MySQL 5.6安装完之后,每过一段时间就会莫名其妙挂掉.而且还很难启动.非要重启服务器,才能拉起mysql. 后来分析是由于mysql启动后内存过高,跑一段时间就会由于内存不足而被杀死. 今天分析 ...