java.io.File类的遍历方法list()和listFiles()都是只获取一级目录和文件,如果希望递归获取目录的多级文件,需要自行编写方法。
package com.ex.file; import java.io.File; import java.io.IOException; import java.util.LinkedList; import java.util.List; public class ConstructorTest { public static void main(String[] args) throws IOException { File dir = new File("D:\\IntelliJ IDEA 2017\\work\\algorithmPro"); LinkedList<File> files = new LinkedList<>(); getAllFiles(dir,files); for (File file:files) { System.out.println(file); } } public static void getAllFiles(File dir, List<File> files) { File[] dirs = dir.listFiles(); for (int i = 0; i < dirs.length; i++) { if (dirs[i].isFile()) { files.add(dirs[i]); }else { getAllFiles(dirs[i],files); } } } }
浙公网安备 33010602011771号