MSDN说用Flush方法,我用的也是Flush(),但是根本没有清空Buffer,继续调用Stream.BaseStream.Length发现我每执行一次Stream.Write,这个Length就会增大。即使调用Flush也无用。会不会是因为在.Net Compact FrameWork上的原因?

解决方案 »

  1.   

    Flush()不清空 Stream 是清理Stream的缓冲区
      

  2.   

    Buffer不就是缓冲区么?
    因为我是要长时间写,不希望Buffer一直消耗大量内存,所以需要每次在执行完写的动作之后清除掉Buffer。但是貌似Flush方法根本就没有清除,我循环2000次写文件,每次都会调用Flush,但是程序耗用的内存还是不停的增加。
      

  3.   

    flush是把所有的缓存中的数据都写到文件中去,然后清空缓存的数据,我觉你还是看看别的什么地方是不是没有清空缓存吧
      

  4.   

    flush  :Clears all buffers for this stream and causes any buffered data to be written to the underlying device.