File類-遞歸算法打印文件目錄樹結構

File類-遞歸目錄樹結構

遞歸結構包括兩部分:

1、定義遞歸頭:什麼時候不調用自身方法也就是遞歸結束的條件,沒有遞歸頭。

2、遞歸體:什麼時候調用自身方法。

************************************************************************************************************

練習遞歸算法計算10!:

public static void main(String[] args){
		System.out.println(printRecursion(10));
		
		
}
	static int printRecursion(int n){
		if(n==1) {
			return 1;
		}else {
			return (n*printRecursion(n-1));  //n!=n*(n-1)!
		}
	}

************************************************************************************************************

************************************************************************************************************

使用遞歸算法,打印樹狀結構目錄樹:

使用:file.listFiles()  //返回該目錄下所有子目錄和子文件

代碼練習:

public static void main(String[] args) throws IOException {
	File f = new File("C:\\Users\\lenovo\\Desktop\\qq");   //確定qq目錄位置
	
	printFile(f,0);
}
	
	static void printFile(File file,int level) {
		//輸出層數
		for (int i = 0; i < level; i++) {
			System.out.print("-");
		}
		
		System.out.println(file.getName());   //打印文件名稱
		if(file.isDirectory()) {
			File[] files = file.listFiles();  //file.listFiles()  //返回該目錄下所有子目錄和子文件        
			
			for(File temp:files) {    //遍歷該文件所有子目錄和子文件並打印
				printFile(temp,level+1);  //將該目錄下所有子目錄和子文件在此調用並且層數+1
			}
		}
	}

運行結果:

************************************************************************************************************

您的建議是博主更新最大的動力!!

如發現錯誤請在評論區評論,博主會仔細查看並修改的!!

希望對您有所幫助!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章