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    换行了
    

      

  • 相关阅读:
    Jabref安装及使用教程
    均方误差与均方根误差
    费马大定理
    JabRef设置
    申请内存时底层发生了什么?
    什么是Pipeline?
    基于三维点云场景的语义及实例分割
    华为 MateView 系列显示器新品
    C#-WinForm跨线程修改UI界面
    C# 代码生成二维码方法及代码示例(QRCoder)
  • 原文地址:https://www.cnblogs.com/sdutmyj/p/4596218.html
Copyright © 2011-2022 走看看