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];

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    第三套三
    多线程读写共享变量时,synchronized与volatile的作用
    jQuery源代码学习笔记:构造jQuery对象
    写入位置时发生訪问冲突
    Free Editor
    大区间素数筛选 POJ2689
    HDU
    CentOS下挂载U盘
    得到当前堆栈信息的两种方式(Thread和Throwable)的纠结
    [实战]MVC5+EF6+MySql企业网盘实战(9)——编辑文件名
  • 原文地址:https://www.cnblogs.com/daxueshan/p/6954182.html
Copyright © 2011-2022 走看看