美文网首页
文件句柄:NSFileHandle

文件句柄:NSFileHandle

作者: 天蓬大元 | 来源:发表于2018-02-02 09:49 被阅读0次
    NSFileHandle: 文件句柄类,用于操作文件的内容
    //fileHandleForReadingAtPath: 以只读的方式打开文件,并获取句柄对象
    //fileHandleForWritingAtPath: 以只写的方式打开文件,并获取句柄对象
    //fileHandleForUpdatingAtPath:以读写的方式打开文件,并获取句柄对象
    
    //Library/PreferencePanes
    // 1,先获取Library目录
    NSString *libPath =     NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES)[0];
    // 2,再拼接Preferences目录
    NSString *prePath = [libPath stringByAppendingPathComponent:@"New/New.txt"];
    //以读写方式打开,并获取句柄对象
    NSFileHandle *handle = [NSFileHandle fileHandleForUpdatingAtPath:prePath];
    if(handle) //如果文件句柄获取成功,则进行文件操作
    {
      //文件句柄的读写,都是以二进制数据流的形式进行
      //-------------1.文件句柄的读操作-------------
      //偏移文件句柄的游标位置  (默认偏移位置为0)
       [handle seekToFileOffset:0];
            //游标偏移到文件的末尾
            //[handle seekToEndOfFile];
      //NSData: 二进制数据流的类 可存储文本与非文本文件数据
      //NSData *data = [handle readDataOfLength:6];
      //从指定游标位置开始一直读取到文件末尾
        NSData *data1 = [handle readDataToEndOfFile];
      //NSData-->NSString
      //数据流转字符串:   参数1:数据流  参数2:编码
      //NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
       NSString *str1 = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
       NSLog(@"str1=%@",str1);
      //---------------文件句柄的写操作-----------------
      //把游标位置指定到开头
        [handle seekToFileOffset:0];
        NSString *str2=@"似懂非懂分";
      //NSString-->NSData: 字符串转数据流
        NSData *data2 = [str2 dataUsingEncoding:NSUTF8StringEncoding];
      //将数据流写入到句柄操作的文件中
       [handle writeData:data2];
    }
    

    Dome

    相关文章

      网友评论

          本文标题:文件句柄:NSFileHandle

          本文链接:https://www.haomeiwen.com/subject/kqeszxtx.html