使用檔案佇列獲取指定目錄及子目錄下的檔案和文價夾
阿新 • • 發佈:2018-11-28
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); } } } } } }