当一个文件被打开後,这个文件的部分或者全部内容就被读到缓存,当我们再次读文件的时候,文件就会从缓存读取,而不是从硬盘再次读取,那么如何能做到每一次读文件都从硬盘读取,而不是从缓存读取???

解决方案 »

  1.   

    把文件关掉,然后再打开,不是从硬盘读取吗?
      

  2.   

    楼上的兄弟,即使你在程序中关掉文件,如果文件已经被打开过,缓存中存在文件内容,再次读取,不会再从硬盘中读取了,要从缓存中读取的。
      

  3.   

    我想,如果文件内容没有被改变,那么可能会如楼主所说的,要是改变了,肯定从硬盘读的或者说缓存中也应该被更新了,应该硬盘上的和缓寸是保持一致的吧。
      

  4.   

    不知道目的是什么 但是 正如楼上所说 你关闭了文件的话 缓存中就算有文件信息在的话 你再次打开文件的话 它会将硬盘上的文件覆蓋緩存中的數據的.你可以创建多个打开文件的句柄.不知道能不能对应你的需求?
      

  5.   

    楼上的所说完全错误,缓存中就算有文件信息在的话 你再次打开文件的话 它会将硬盘上的文件覆蓋緩存中的數據的.缓存中就算有文件信息在的话 当它和硬盘中文件内容一致时, 硬盘上的文件不会覆蓋緩存中的數據的.读取文件时,直接从缓存中读取。
      

  6.   

    当然我是这样的意思 "当它和硬盘中文件内容一致时, 硬盘上的文件不会覆蓋緩存中的數據的"
    如果不一致 就将硬盘中的数据覆蓋缓存中的数据. 要不然要缓存干嘛...只是缓存中数据与硬盘数据一致 读哪里的不是一样的?