如何以编程方式清除Windows中的caching?

我已经在这里和这里读了几篇关于如何使用外部应用程序清除caching的文章。

我想运行性能基准testing,并希望在每次运行之前清除运行的文件系统caching。 我正在用Java运行一个带有许多参数的程序,我需要一个自动化的方法,例如用Java编程。

有什么build议么?

您可以使用批处理文件清除缓存并在java中调用该批处理文件。

这里有一个命令来调用java中的批处理文件: 更多这里

 Runtime.getRuntime().exec("cmd /c start clearCache.bat"); 

这个批处理文件将清除windows所有java cache 。 只需要在你的java代码中调用这个批处理文件来执行

 @Echo Off echo ========================= echo Now clearing all users Java cache folder set "docandset=%homedrive%\users" >> c:\Delete.log echo/ "Java\Deployment\cache\6.0\" for /f "delims=" %%a in ('dir "%docandset%" /ad /b') do ( for %%b in ( "%docandset%\%%a\AppData\LocalLow\Sun\Java\Deployment\cache\6.0" ) do ( echo %%b >> c:\Delete.log cd /d %%b >> c:\Delete.log 2>&1 rd /s /q %%b >> c:\Delete.log 2>&1 del /f /s /q %%b >> c:\Delete.log 2>&1 ) ) echo ========================= echo COMPLETE!!!! echo ========================= echo All users Java cache folder has been cleared. PAUSE 

在这里找到它: http : //community.spiceworks.com/scripts/show/1928-clear-all-users-java-cache

你也可以检查这个,清除Windows临时文件: 批量删除所有用户的临时Windows文件(系统,浏览器,缓存等)