//一.读取

//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. 【原】Coursera—Andrew Ng机器学习—编程作业 Programming Exercise 1 线性回归

    作业说明 Exercise 1,Week 2,使用Octave实现线性回归模型.数据集  ex1data1.txt ,ex1data2.txt 单变量线性回归必须实现,实现代价函数计算Computin ...

  2. spring注解开发的准备工作

  3. oracle数据库导入导出数据

    导出命令 exp username/password@192.168.x.xx/orcl file='D:\20170126.dmp' log='D:\20170126.log' 导入命令 imp u ...

  4. Using Browser Link in Visual Studio 2013

    题记:Browser Link是VS 2013开始引入的一个强大功能,让前端代码(比如AngularJS的代码)在VS中的修改更加轻而易举. 前 端代码是运行在浏览器中,而Visual Studio通 ...

  5. 【FZU2280】Magic

    题意 给出n个字符串,每个字符串有一个权值wi 有q个操作,操作有两种 1 x y 将字符串x的权值变为y 2 x 查询操作,输出以字符串x为后缀,且权值小于等于wx的字符串个数.其中n<=10 ...

  6. 介绍个好点的,JAVA技术群

    java技术交流,意义是以QQ群为媒介,添加一些有多年工作经验和技术的人群,为有问题的人群解答在工作中遇到的各种问题为思想,java技术交流群号161571685,创建时间为2010年,走过将近5年的 ...

  7. spring aop自动代理xml配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  8. 【转】浏览器中F5和CTRL F5的行为区别

    原文地址:http://www.cnblogs.com/jiji262/p/3410518.html 前言 在印象中,浏览器中的F5和刷新按钮是一样的效果,都是对当前页面进行刷新:Ctrl-F5的行为 ...

  9. Use SFTP in Linux (转)

    From http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.html sftp 是一个交互式文件传输程式.它类似于 ftp, ...

  10. integer encoding vs 1-hot (py)

    https://github.com/szilard/benchm-ml/issues/1 glouppe commented on 7 May 2015 Thanks for the benchma ...