java 遞歸刪除文件和文件夾(刪除目錄和其中的所有文件)

題目

編寫一個 FileUtil ,提供方法 rmDir(String dir) 來刪除非空目錄中所有文件和子目錄,包括目錄本身。

java 代碼

首先得判斷,當前是一個目錄的話,進行遍歷其中的 File 對象。如果不是就直接刪除。

遍歷時如果判斷依然是一個目錄,就進行遞歸,如果不是就直接刪除。

public static void rmDir(String dir){
   File file = new File(dir);
   if(file.isDirectory()){
       File[] files = file.listFiles();
       if (files != null && files.length > 0){
           for (File file1 : files) {
               if(file1.isDirectory()){
                   rmDir(file1.getPath());
               } else {
                   file1.delete();
               }
           }
       } else {
           file.delete();
       }
   } else {
       file.delete();
   }
}

測試

在 main 方法中:

rmDir("D:\\ideaProjects\\java-demo\\target\\classes\\files");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章