java遞歸刪除文件夾

 

讀者需注意:架構

  遞歸的效率自己並非很高,固然不是絕對的;64位的系統大概能夠調用幾萬次遞歸spa

  不管是在開發組織架構系統仍是遞歸刪除或遍歷時,若是一直無止境的遞歸下去會形成棧溢出code

  固然,以上知識點是對初學者的普及,不會影響咱們對如下的方法使用,大部分場景下該代碼都是能夠使用的  blog

public class FileDelete {
    
    public static void deleteFlie(File f) {
        File[] subFiles = f.listFiles();
        //沒有子目錄直接刪除
        if (subFiles.length == 0) {
            f.delete();
        } else {
            //有子目錄進行循環遞歸
            for (int i = 0; i < subFiles.length; i++) {
                if (subFiles[i].isDirectory()) {
                    deleteFlie(subFiles[i]);
                } else {
                    subFiles[i].delete();
                }
            }
            f.delete();
        }
    }
    
    public static void main(String[] args) {
            File file = new File("d:\\test");   
            deleteFlie(file);
    }
    
}
相關文章
相關標籤/搜索