新建一个用户文本文件,包括几个属性,对其进行增删改查,每次都要重读重写吗,请留下详细思路及实现

解决方案 »

  1.   

    文本代表你处理对象的环境
    如果一个行代表一个对象的话
    文本表示了一个行的集合
    也就是你要实现的只是行的操作
    实现下面的接口{
       //环境操作
        create();     //建立这样一个环境
        reset();      //从新安排环境中的行{配合下面的 del,modif方法}
       //功能操作
        append();     //添加一个行{在文本中新添加一个行总会把}
        del{};        //删除一个行{不用真的删除 将这个行的内容全空[或者行首字节设置一个DEL标志就可以]}
        modif{};      //修改行  基本就是 del()和append()的组合操作{当然修改后的行不操作原行长度的话,直接覆盖原行内容}
        read();       //读取行 读取指定一行或者所有行{重载}
    }
    追求read()的速度的话 就实现一个行索引{行的开始位置,索引的实现应该类似于上面这个接口的实现}
    reset()基本就是 read()所有行在重新覆盖整个环境内容
    这样把时间的花取都集中在reset()这个方法上 reset方法只要在需要的时候执行就可以以上一个简单的行记录处理层就有了行内容可以操作了 剩下的行和对象的相互映射应该没难度了