在java中刪除一個非空目錄的方法

字號:

在java中沒有直接刪除非空目錄的方法,所以要自己編寫方法來刪除,代碼很簡單,
    public static void deleteDir(File dir) {
     if (dir == null || !dir.exists() || !dir.isDirectory())
     return; // 檢查參數(shù)
     for (File file : dir.listFiles()) {
     if (file.isFile())
     file.delete(); // 刪除所有文件
     else if (file.isDirectory())
     deleteDir(file); // 遞規(guī)的方式刪除文件夾
     }
     dir.delete();// 刪除目錄本身
    }
    需要注意的是,如果刪除的文件中包含有系統(tǒng)正在使用的文件時,文件不會被刪除掉,不過也不會發(fā)生錯誤,只是將可以刪除的文件全部刪除了。
    另外通過調(diào)用:deleteDir(new File(System.getProperty("java.io.tmpdir")));可以刪除系統(tǒng)的臨時文件。