在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)的臨時文件。
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)的臨時文件。

