JAVA快速批量刪除文件


在運用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM