在運用SAS的SPD的引擎的時候,如果由於某些原因,中途中斷程序,
可能會造成大量的碎片文件,這寫碎片文件分布在SPD設定的各個盤符中,
並且數量較大(每個sas執行線程都會在每個盤符中產生1.5k左右的碎片文件)。
運用一個小程序刪除這些碎片文件,一般情況下需要刪除幾十萬個碎片文件,因此
為了提高刪除的效率,對比了以下兩種方法:
1. 自行遍歷文件夾刪除(一般方法,這里不闡述)
2. 執行腳本的方法
程序調用OS可以執行的腳本進行刪除
windows:rd filename /q /s
linux:rm -f -r filename
java是使用Runtime.getRuntime()進行調用(windows)
1 Runtime runtime = Runtime.getRuntime(); 2 String[] args = new String[] {"cmd.exe", "/c", tring.format("rd %s /q /s", folderpath)}; 3 runtime.exec(args);
測試兩個方法的耗時結果:
5000文件
第1種方法: 刪除共耗時: 3648 ms
第2種方法: 刪除共耗時: 1672 ms
11000文件
第1種方法: 刪除共耗時: 5782 ms
第2種方法: 刪除共耗時: 2391 ms
