递归查看指定文件夹下的所有文件

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


public class demo3 {

	/**
	 * 获取指定路径下的全部文件,只是获取了文件,没有保存文件夹
	 */
	public static void main(String[] args) {
		File file = new File("C:\\Users\\1\\Desktop\\每天新内容");
		List<String> list = new ArrayList<String>();
		list = allFile(file);
		
		//创建一个迭代器,用来遍历集合
		Iterator<String> iterator = list.iterator();
		
		//hasNext()   每遍历一次迭代器的指针就会下移一位,
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
		
	}
	
	public static List<String> allFile(File file){
		List<String> list = new ArrayList<String>();

		File[] files = file.listFiles();
		if (file.isFile()) {
			list.add(file.getName());
			return list;
		}
		
		if (file != null) {
			for (File file2 : files) {
				
				list.addAll(allFile(file2));
			}
		}
		return list;
	}

}

 

posted on 2016-12-04 22:56  ljyhyy  阅读(168)  评论(0编辑  收藏  举报