//一.读取

//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的更多相关文章

  1. IOS之NSFileManager 和NSFileHandle

    在现阶手机app的临时缓存文件渐渐增多,在app开发中对于移动设备文件的操作越来越多,我们IOS中对于文件的操作主要涉及两个类NSFileManager 和NSFileHandle,下面我们就看看如何 ...

  2. [iOS 多线程 & 网络 - 2.4] - 大文件下载 (边下边写/暂停恢复下载/压缩解压zip/多线程下载)

    A.需求 边下边写入硬盘 显示下载进度 暂停/恢复 下载 解压文件 多线程下载   B.基本知识 1.小文件下载 如果文件比较小,下载方式会比较多直接用NSData的+ (id)dataWithCon ...

  3. OC10_文件练习

    // // TextHander.h // OC10_文件练习 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zha ...

  4. OC9_文件操作

    // // main.m // OC9_文件操作 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zhangxuemi ...

  5. iOS-网络编程(二)文件上传和断点离线下载

    一. iOS中发送HTTP请求的方案 在iOS中,我们常用发送HTTP请求的方案有苹果原生(自带)NSURLConnection:用法简单,最古老最经典最直接的一种方案 (iOS 9.0弃用)NSUR ...

  6. iOS开发中多线程断点下载大文件

    主要思想,就是创建一个与目标文件等大小的空白文件,然后分段往这个空白文件中写入数据. 可以通过发送HEAD请求,获得服务器中文件的具体大小,然后再将这样的长度分割成若干等大的数据块,在发送get请求时 ...

  7. OC文件操作2

    1.对文件本身的操作 NSManager 2.对文件内容的操作 NSHandle 文件句柄 NSFileHandle * fh = [NSFileHandle fileHandleForReading ...

  8. UI:文件操作、通知中心

    对文件的操作: #define PATH @"/Users/mac/Desktop/未命名文件夹" #define ERROR(a) if(a){NSLog(@"%@&q ...

  9. NSFileHandle

    /* 文件处理句柄要完成的工作:  相当于C中的文件操作,诸如 打开,读,写,关闭,修改文件偏移量等行为 类名:   NSFileHandle 注意: 操作句柄时,重点把握文件的偏移量在哪个位置 重点 ...

随机推荐

  1. nodejs npm install -g 全局安装和非全局安装的区别

    1. npm install xxx -g 时, 模块将被下载安装到[全局目录]中. [全局目录]通过 npm config set prefix "目录路径" 来设置. 比如说, ...

  2. [转载]C语言 宏

    当然宏定义非常重要的,它可以帮助我们防止出错,提高代码的可移植性和可读性等. 1,防止一个头文件被重复包含 #ifndef COMDEF_H#define COMDEF_H //头文件内容 …#end ...

  3. Mongoose 参考手册(转载)

    Mongoose 是什么? 一般我们不直接用MongoDB的函数来操作MongoDB数据库 Mongose就是一套操作MongoDB数据库的接口. Schema 一种以文件形式存储的数据库模型骨架,无 ...

  4. 【HDU5861】Road

    题意 有n个村庄排成一排,有n-1条路将他们连在一起.每条路开放一天都会花费一定数量的钱.你可以选择打开或者关上任意条路在任意一天,但是每条路只能打开和关闭一次.我们知道m天的运输计划.每天都有一辆马 ...

  5. hdu6188 Duizi and Shunzi (贪心或者dp)

    题意 有n张牌,第i张牌上的数字是a[i].我们定义 两张数字是一样的牌 为对子.我们定义 三张数字连续的牌 为顺子.我们想把这n张牌组成尽可能多的顺子和对子.请计算并输出能组成的最多的顺子和对子的数 ...

  6. 521. Longest Uncommon Subsequence I 最长不同子数组

    [抄题]: [暴力解法]: 时间分析: 空间分析: [优化后]: 时间分析: 空间分析: [奇葩输出条件]: [奇葩corner case]: [思维问题]: [一句话思路]: 两个单词的话,就是看谁 ...

  7. 10个强大的Javascript表单验证插件推荐

    创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计.开发与测试等等环节.实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的.本文介绍了10个不错的JavaScri ...

  8. MRPT - Mobile Robot Programming Toolkit

    1. https://www.mrpt.org/Building_and_Installing_Instructions#1_Prerequisites P1. error C2371: “int32 ...

  9. Linux bind-utils

    一.简介 DNS是一种将域名解析为IP地址的服务.如:www.turbolinux.com.cn通过DNS解析,可以得到210.77.38.126.bind是linux系统下的一个DNS服务程序.bi ...

  10. Django Rest Framework框架 ---- url控制器

    Django Rest Framework框架 ---- url控制器