JAvaフォルダ構造の表示

952 ワード

今日、ファイルに表示されているコードを見て、自分で書きたいので、まず実行結果を見てみましょう.
以下にコードを貼って、注釈はすべてあります
public class FolderList {

	/**
	 *       
	 */
	private static int spaceNum = 3;
	public static void main(String[] args) {
		
		File folder = new File("F:/test");
		System.out.println(folder.getName());//     
		showFiles(spaceNum,1,folder.listFiles());
	}
	
	//    :      (deepth      )
	private static void showFiles(int sapce,int deepth,File[] files) {
		StringBuffer spaceStr = new StringBuffer();
		int tmp = deepth;//     deepth ,  deepth--      
		//     ,      
		for(int i=0;i=0)&&(i!=0)){
				spaceStr.append("|");
				deepth-- ;
			}
			spaceStr.append(" ");
			
		}
		spaceStr.append("|─");
		for(File file : files){
			System.out.println(spaceStr+file.getName());
			//      ,    
			if(file.isDirectory()){
				showFiles(sapce+spaceNum,tmp+1,file.listFiles());
			}
		}
		
	}

}