//一.读取

//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. subprocess模块和logging模块

    主要内容: 一.subprocess模块 二.logging模块 1️⃣  subprocess模块 三种执行命令的方法 subprocess.run(*popenargs, input=None, ...

  2. Markdown使用简单示例(每一个使用对应一个实际的markdown语法)

    1.标题示例:通过"#"数量表示几级标题.(一共只有1~6级标题,1级标题字体最大) 标题一 #标题一 标题二 #标题二 标题三 ###标题三 标题四 ####标题四 标题五 ## ...

  3. linq 条件查询与分页

    <div>姓名:<asp:TextBox ID="T1" runat="server"></asp:TextBox>< ...

  4. hibernate 一对多(级联关系)

    hibernate 核心配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hiber ...

  5. c语言实践 数字特征值

    这题的要求是这样的: 这题我没做出来,我大概思路是这样的,根据输入的数字,把这个数字的每一位都分离出来,然后判断奇数还是偶数,再判断序是奇数还是偶数,最后两个奇偶性比较,输出1还是0,这个输出的1和0 ...

  6. Servlet和JSP简述

    什么是Servlet和JSP 用Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP. Servlet是在服务器端执行的Java程序,一个被称为Servlet容器的程序(其实就是 ...

  7. scala _ parameter

    Given that sequence, use reduceLeft to determine different properties about the collection. The foll ...

  8. Entity Framework 6.0 Tutorials(7):DbSet.AddRange & DbSet.RemoveRange

    DbSet.AddRange & DbSet.RemoveRange: DbSet in EF 6 has introduced new methods AddRange & Remo ...

  9. SQLServer跨库查询--分布式查询

    出处:http://www.cnblogs.com/doosmile/archive/2012/03/16/2400646.html --用openrowset连接远程SQL或插入数据 --如果只是临 ...

  10. 好的linux网站

    site:www.tldp.org rpm http://www.computerhope.com/unix.htm