1. 程式人生 > >使用檔案佇列獲取指定目錄及子目錄下的檔案和文價夾

使用檔案佇列獲取指定目錄及子目錄下的檔案和文價夾

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);
					}
				}
			}
		}
	}
}

在這裡插入圖片描述