1. 程式人生 > >遞迴刪除非空資料夾(目錄)

遞迴刪除非空資料夾(目錄)

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 資料夾  --這裡就不上圖了