IO流_File_Test

Test01:
public class FileTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		/*
		 * 需求:列出指定目錄下所有內容,包含着子目錄中的內容。
		 */
		File dir = new File("d:\\myclass");
		listAll(dir,0);
		
	}
	public static void listAll(File dir,int level){
		System.out.println(getSpace(level)+dir);//輸出  層級+目錄
		level++;
		//level表示層級,爲了讓結果好看一些,我們不能在方法裏面定義這個層級,因爲下面採用了遞歸,每調用一次,方法就會進棧,
		//每進棧一次就會重新定義一個level,所以爲了記錄住這個level,我們在方法參數列表中定義,下次調用該方法時,就會進行累加
		File[] files = dir.listFiles();
		for(File file : files){
			if(file.isDirectory()){
				listAll(file,level);//遞歸。
			}
			else
				System.out.println(getSpace(level)+file);//輸出  層級+文件
		}
	}
	private static String getSpace(int level) {
		
		StringBuilder sb = new StringBuilder();
		for(int x=0; x<level; x++){//層級是幾層就返回幾個“|--”
			sb.append("|--");
		}
		return sb.toString();
	}
}

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