现在要将控件的内容保存到txt,但是当达到5000条时,就从头开始删一条写一条。
并不是当到达5000条时就全部删除了重写,必须将老的文件一条一条的删除写入。
求解
1.怎么比较节省的读取txt内容的条数,目前我做法是:
每次都去读一下:
while (srFile.ReadLine() != null)
{
    i++;
    if(i>=5000)
      break;
}
2.怎么做到将老的文件删一条写一些?
求各位帮忙 谢谢!

解决方案 »

  1.   

    你应该先把这些数据在内存中操作比如列表中,特别是写入和删除,然后最终操作完了,将列表内容写到txt,像你那样,一直在访问IO,效率太低了
      

  2.   

    TXT文件不适合做这样的操作。你一次性写入或者多次在后面添加都没问题,但要反复修改或者中途删改就麻烦了,从那后面的文件内容都必须跟着变更位置。效率实在是太低下了。
      

  3.   

    这边的需求是要求实时将变更的控件内容写到log内,但是log要限制大小在5000条,如果在列表中完成,是不是就不太好实时更新了?
      

  4.   

    哦~~ 我貌似懂了,是不是我用一个列表进行缓存,然后我优先修改列表,然后将整个列表直接一次写到txt中去?