文件内容操作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    换行了

  

原文地址:https://www.cnblogs.com/sdutmyj/p/4596218.html