递归打印多级目录
package com.learn.demo02.Recursion;import java.io.File;/*練習:遞歸打印多級目錄需求:遍歷c:\\abc文件夾,及abc文件夾的子文件夾c:\\abcc:\\abc\\abc.txtc:\\abc\\abc.javac:\\abc\\ac:\\abc\\a\\a.jpgc:\\abc\\a\\a.javac:\\abc\\bc:\\abc\\b\\b.javac:\\abc\\b\\b.txt*/
public class Demo04Recurison {public static void main(String[] args) {File file = new File("D:\\idea\\IdeaProjects\\08_FileAndRecursion");getAllFile(file);}/*定義一個方法,參數(shù)傳遞File類型的目錄方法中對目錄進行遍歷*/public static void getAllFile(File dir){System.out.println(dir);//打印被遍歷的目錄名稱File[] files = dir.listFiles();for (File f : files) {//對遍歷得到的File對象f進行判斷,判斷是否是文件夾if(f.isDirectory()){//f是一個文件夾,則繼續(xù)遍歷這個文件夾//我們發(fā)現(xiàn)getAllFile方法就是傳遞文件夾,遍歷文件夾的方法//所以直接調用getAllFile方法即可:遞歸(自己調用自己)getAllFile(f);}else{//f是一個文件,直接打印即可System.out.println(f);}}}
}
?
總結
- 上一篇: 使用递归计算阶乘
- 下一篇: FileFilter过滤器的原理和使用