遞迴刪除非空資料夾(目錄)
阿新 • • 發佈:2018-12-11
Java 對File類 提供了一個刪除檔案 delete(); 的方法
但是這個方法只對 檔案或者 空目錄有效,對非空目錄是無法進行刪除的
這個時候我們要 刪除非空目錄 可能就會用到 遞迴的方法:
private static void delDirectory(File f) { //判斷是否目錄 if (f.isDirectory()) { //是目錄,判斷是否有子檔案 if (f.listFiles().length>0) { for (File file : f.listFiles()) { //有子檔案再次呼叫本方法 delDirectory(file); } }else { //無子檔案直接刪除 f.delete(); } } //刪除空目錄 或 檔案 f.delete(); }
使用 main 方法呼叫:
public static void main(String[] args) {
File f = new File("C:\\Users\\jacktu\\Desktop\\test");
delDirectory(f);
}
成功刪除桌面的 test 資料夾 --這裡就不上圖了