天天看点

Java常用类File 递归显示文件或目录

package com.study;

import java.io.File;

public class ChapFile02 {
	public static void main(String []args) {
		
		//编写一个程序把对应盘符下面的所有文件或者文件夹有层次(树状)结构列出来
		String pathname="F:\\";
		
		ChapFile02 chap =new ChapFile02();
		chap.forListDirFile(pathname);
	}
	
	/**
	 * 使用递归算法,进行文件或目录的显示
	 * @param pathname
	 */
	public void forListDirFile(String pathname){
		File file = new File(pathname);
		if(file.exists()) { 
			if(file.isFile()) {
				System.out.println(file.getName());
			}
			else if(file.isDirectory()){  
				
				File[] list_files=file.listFiles();
				if(null!=list_files){
					for(int i=0;i<list_files.length;i++) {
						System.out.println(list_files[i]);
						this.forListDirFile(list_files[i].toString()); 
					} 
				}
				else
				{
					System.out.println("此路径为空");
				}
				
			}
			else
			{
				System.out.println(file.getName());
			} 
		}
		 
	}
	
	
}