java 刪除非空目錄


File 類別中的 Delete() 方法只能刪除空目錄,非空目錄就必須先把目錄中的所有檔案刪除,再刪除自己本身,可用重複呼叫(遞回)的方式來達到目的

public static void deleteDir(File dir) 
    { 
        for (File file : dir.listFiles()) { 
            if (file.isFile()) 
                file.delete(); 
            else if (file.isDirectory()) 
                deleteDir(file);
        } 
        
        dir.delete();
    }

其中 deleteDir(file) 就是遞回的實用啦~~