使用文件队列获取指定目录及子目录下的文件和文价夹

package cn.itcast.day01_03;

import java.awt.List;
import java.io.File;
import java.util.LinkedList
/*
 * 使用文件队列获取指定目录及子目录下的文件和问价夹
 */
public class FileDemo4 {
	public static void main(String[] args) {
		File dir = new File("D://project-2018-09-11");
		getFiles(dir);
	}
	
	//获取指定目录以及子目录下的文件和文件夹
	private static void getFiles(File dir) {
		//定义集合容器
		LinkedList<File> list = new LinkedList();
		//将传递将来的文件先保存在集合容器中
		list.add(dir);
		//遍历集合容器
		while (list.size() > 0) {
			//只有循环成立,说明集合容器中就会有文件夹存在
			File file = list.removeFirst();
			//获取从容器中取出的这个文件夹下的文件和文件夹
			File[] files = file.listFiles();
			//判断当前的目录是否为null
			if (files != null) {
				//遍历当前从容器中取出的这个文件夹下的每个文件和文件夹对象
				for (File f : files) {
					//判断是否是文件夹
					if (f.isDirectory()) {
						list.addLast(f);
						//当前的f一定是文件
					} else {
						System.out.println(f);
					}
				}
			}
		}
	}
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43117449/article/details/83118436
今日推荐