遍歷給定文件夾中的所有文件以及文件夾 P79

import java.io.File;

public class test04_02 {
	//設置level用來表示當前目錄相對於給定目錄的深度,用來打印Tab佔位符
	private int level = 0;
	
	public void printDir(File file){
		printDir1(file, level);
	}

	public void printDir1(File file,int level){
		for(int i=0;i<level;i++){
			System.out.print('\t');
		}
		if(file.isDirectory()){
			System.out.println(getPath(file));
			String[] strL = file.list();//獲取目錄下所有文件列表
			for(int i = 0; i<strL.length;i++){
				//遞歸的調用自身,同時將level參數遞增用來打印Tab佔位符
				printDir1(new File(file.getPath() + "\\" + strL[i]),level+1);
			}
		}else{//若是單獨文件,則直接打印
			System.out.println(getPath(file));
		}
		//System.out.println(level);
	}
	//將文件名稱 以 “\\”符號分割,取其最後的一項,如D\\360--->360
	 public  String  getPath(File mFile){
		 String fullPath = mFile.getPath();
		 String[] str = fullPath.split("\\\\");
		 return str[str.length - 1];
	}	 
	 public static void main(String[] args){
		     test04_02 demo = new test04_02();
			File newfile = new File("D:\\test");
			demo.printDir(newfile);
	 }

}

結果:


發佈了34 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章