有个文件大概20M - 30M 的样子需要频繁的改变,其实就是一个加密解密的过程,但这个操作非常频繁。
目前处理方式打开文件句柄后读入1024个字节,改变后写入,然后再次读出写入 ......
这么做的最大缺点是频繁的读写,对文件完整性有考验,可能读写一半后就出错照成文件损坏 求高效解决方案

解决方案 »

  1.   

    文件不怎么大。当有频繁的操作,最好使用数据流进行吧。stream
    如果没有频繁的操作,可是用映射操作。
      

  2.   


    我看了您的博客,理解能力已经下降,不会是,为了读取文件快一点,就预先读取一下接下去的内容,然后为下次准备使用吧?
    那,每次Read的时候多一点,不就可以了吗?
    (如果我理解错了,还请指正)。
    另外,快一点处理文件方法,我个人以为有两种:
    1、全部加载内存,内存中处理。
    2、退而求其次的,用文件内存映射,分段 View 处理。
      

  3.   

    还是用 标准数据库吧 MSSQL和OREACE,DB之类的
    楼主呀,发分呀,我在接分中
      

  4.   

    是的。不过,顺序处理几个G的大文件,比如计算md5,总不能一次加载到内存吧。
    而用stream计算md5,每次从filestream里读取几十个字节,效率很低的。我那个类是在内部对filestream做了缓存处理。
      

  5.   

    每次read或者write多一点当然可以,不过用的地方比较多的话就很麻烦,写个类一了百了。