zoukankan      html  css  js  c++  java
  • 文件句柄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];

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    java多线程设计模式
    Java横向、纵向合并图片
    Oracle数据库当前连接数、最大连接数的查询与设置
    oracle获取一段时间内所有的小时、天、月
    Struts2+Spring3+Mybatis3开发环境搭建
    Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源方法
    spring+mybatis 多数据源切换
    Java与WCF交互(一):Java客户端调用WCF服务
    使用axis2进行WebService的开发
    axis2 WebService的发布与调用
  • 原文地址:https://www.cnblogs.com/daxueshan/p/6954182.html
Copyright © 2011-2022 走看看