天天看點

傳入一個目錄或者檔案夾如何列出或者删除所有子目錄和檔案?



import java.io.File;

public class Work {

 public static void main(String[] args) {

  // TODO 自動生成的方法存根 

  File dir = new File("f:\\p3"); //建立一個新對象,将目錄檔案傳進來。

  mygetFile(dir);  //傳入File類型參數。   // 資料類型為File

 }

 private static void mygetFile(File dir) {

  // TODO 自動生成的方法存根

  File[] File = dir.listFiles(); //傳回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的檔案。

  for (File file : File) {   //1.資料類型是File  2.自定義參數名file  3.抽象資料組名File

   if (file.isDirectory()) {   // 判斷file是否為一個目錄。

    mygetFile(file);   //調用自身方法(遞歸)繼續打開目錄

   }else {

    System.out.println(file);    /打開所有分級目錄後,列印所有的檔案

    //System.out.println(file.delete());   

   }                    //如果需要删除檔案,隻需要将兩個列印後面增加或者更改調用delete方法。

  }      // 當檔案夾裡面檔案沒被删除時,檔案夾是删除不掉的。

  System.out.println(dir);  //列印所有的檔案夾

  //System.out.println(dir.delete());    

 }

}