zoukankan      html  css  js  c++  java
  • 文件内容操作NSHandle

      //2对文件内容的操作
        NSHandle
    文件内容为:hello world!
       //NSHandle 文件句柄
       //创建文件句柄
       //以只读的方式打开指定位置的文件,生成文件句柄
       NSFileHandle *fh=[NSFileHandle fileHandleForReadingAtPath:文件路径名];
       //读指定的字节数到NSData
       NSData *data=[fh readDataOfLength:3];
       //转换成字符串输出
       NSString *str=[[NSString alloc] initWithData:data encoding:
           NSUTF8StringEncoding];
       NSLog(@"%@",str);//输出为:hel
       //继续读(接着上次读取的进度继续读)
       data=[fh readDataOfLength:5];
        NSString *str=[[NSString alloc] initWithData:data encoding:
           NSUTF8StringEncoding];
       NSLog(@"%@",str);//输出为:lo wo
       //如果文件内容不多可以用下面的方法直接读到文件结尾
       data=[fh readDataToEndOfFile];
       
        NSString *str=[[NSString alloc] initWithData:data encoding:
           NSUTF8StringEncoding];
       NSLog(@"%@",str);//如果没有上面的两句那么会直接输出hello world!
       [str release];
       
       //写文件,假设文件内容为0123456789
       
       //以只写的方式打开文件生成文件句柄
       
       NSFileHandle *fh=[NSFileHandle fileHandleForWritingAtPath:文件路径名];
       //把字符串hello写进文件
       [fh writeData:[@"hello" dataUsingEncoding:NSUTF8StringEncoding]];
       //打开文件时里面的内容变成了hello56789 hello替换掉了01234的内容
       //文件里的内容并没有被清空,这和c语言不一样.写的内容直接覆盖前面,这和c语言的追加也不一样
       
       //可以用下面的方法将文件内容截断至0字节
       [fh truncateFileAtOffset:0];
       
       //在写入就和c语言的写一样了
       
       
       
       //追加假设文件内容为012345
       //将读写指针都放到尾端
       [fh seekToEndOfFile];
       [fh writeData:[@"xxxx" dataUsingEncoding:NSUTF8StringEncoding]];
       //文件的内容为012345
       //xxxx    换行了
    

      

  • 相关阅读:
    springboot自定义消息转换器HttpMessageConverter
    fastJson的feature和SerializerFeature属性的解释
    ThreadLocal
    复习面向对象 -- 继承
    复习面向对象--创建对象
    js实现二分查找算法
    SVN问题解决--Attempted to lock an already-locked dir
    封装cookie设置和获取的简易方法
    JS判断客户端是否是iOS或者Android手机移动端(转载)
    【Vue笔记】-- 详解vue生命周期
  • 原文地址:https://www.cnblogs.com/sdutmyj/p/4596218.html
Copyright © 2011-2022 走看看