Java中遞歸調用

遞歸調用

遞歸調用分爲兩種:
直接調用、間接調用
注意:遞歸調用要有一定的條件限制,保證遞歸可以停下來。防止出現棧內存溢出。 構造方法禁止遞歸。

遞歸打印多級目錄
定義一個方法,參數傳遞File類型的目錄,方法對目錄進行遍歷 (遍歷包括文件夾及其子文件)

System.out.println(dir);//打印被遍歷的目錄名稱
File[] files = dir.listFiles();
for(File f : files){
	//對遍歷得到的File對象f進行判斷,判斷是否爲文件夾
	if(f.isDirectory()){
		//f是一個文件夾,繼續遍歷這個文件夾
		//getAllFile方法可遞歸調用文件夾,(自己調用自己)
		getAllFile(f);
	}else{
		//f是一個文件,直接打印即可
		System.out.println(f);
	}

文件搜索

System.out.println(dir);//打印被遍歷的目錄名稱
File[] files = dir.listFiles();
for(File f : files){
	//對遍歷得到的File對象f進行判斷,判斷是否爲文件夾
	if(f.isDirectory()){
		//f是一個文件夾,繼續遍歷這個文件夾
		//getAllFile方法可遞歸調用文件夾,(自己調用自己)
		getAllFile(f);
	}else{
		//f是一個文件,直接打印即可
		//System.out.println(f);
		//要求只要.java結尾的文件
		//1.把File對象f,轉換爲字符串對象的三種方法
		//String name = f.getName();//abc.java
		//String path = f.getPath();//c:\\abc\\abc.java
		String s = f.toString();
		//2.把字符串轉換爲小寫
		//s = s.toLowerCase();
		//3.調用String類中方法endsWith判斷字符串是否以.java結尾
		//bollean b = s.endsWith(".java");
		//4.如果是以.java結尾的文件,則輸出
		//if(b){
			//System.out.println(f);
		//	}
		//**重點鏈式編程**
		if(f.getName().toLowerCase().endsWith(".java")){
			System.out.println(f);
			}
	}

過濾器

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