文件句柄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 注意: 操作句柄时,重点把握文件的偏移量在哪个位置 重点 ...
随机推荐
- 《转》我的ARM学习经历
1.基础阶段 话说06年第一份工作从事的是PLC开发,用protel画原理图和PCB,写AVR单片机程序,焊焊板子,还去过华强北买器件,比较杂,但是接触面比较广,为进一步学ARM打下了基础. ...
- Gym 101606 F-Flipping Coins(概率dp)
参考博客:http://www.cnblogs.com/kang000/p/8571071.html (这篇博客写的真的走心,ORZ) 题意有n个硬币排成一排,开始的时候所有的硬币都是正面朝下,你必 ...
- mybatis内部类映射写法
直接上代码: mybatis内部类映射使用$而不是.
- Java方法学习疑问
此方法不理解 finalize() 方法 Java允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做finalize( ),它用来清除回收对象. 例如,你可以使用finaliz ...
- Vue.js组件调用用及其组件通信
1.需要import,然后components注册.然后如下代码调用. <template> <header></header> //注册后才能这样使用 <b ...
- Paper: ImageNet Classification with Deep Convolutional Neural Network
本文介绍了Alex net 在imageNet Classification 中的惊人表现,获得了ImagaNet LSVRC2012第一的好成绩,开启了卷积神经网络在cv领域的广泛应用. 1.数据集 ...
- 泊松分布 & 指数分布
一.泊松分布 日常生活中,大量事件是有固定频率的. 某医院平均每小时出生3个婴儿 某公司平均每10分钟接到1个电话 某超市平均每天销售4包xx牌奶粉 某网站平均每分钟有2次访问 它们的特点就是,我们可 ...
- Python基础入门-集合
今天给大家分享的是python中集合(set)的概念,集合这个词其实和高中学的数学集合的概念很相近,或者作为初学者你就可以把它理解为数学当中的集合.在python中集合(set)是由一个个键组成的,但 ...
- ROW_NUMBER分页
var query = string.Format("SELECT {0} FROM (SELECT ROW_NUMBER() OVER (ORDER BY {3}) AS RowNum, ...
- 跨域Ajax请求(jQuery JSONP MVC)
通过jQuery的$.ajax方法发送JSONP请求 js代码 <script type="text/javascript"> function jsonptest2( ...