java递归遍历获取目录下所有文件
java递归获取目录下所有文件(代码),完整代码。以获取 D:/Program Files目录下的文件为例,共得到37083个文件。
package com.yangshengliang.io.file; import java.io.File; import java.io.IOException; import java.util.ArrayList; public class GetFiles { // 存储文件列表 private ArrayList<String> fileList = new ArrayList<>(); public static void main(String[] args) throws IOException { GetFiles demo = new GetFiles(); // D:/Program Files 目录 ArrayList<String> arr = demo.getFile(new File("D:/Program Files")); for (String a : arr) { // 打印出所有的文件,包含完整路径 System.out.println(a); } System.out.println("文件总数:" + arr.size()); } private ArrayList<String> getFile(File path) throws IOException { File[] listFile = path.listFiles(); for (File a : listFile) { if (a.isDirectory()) { // 递归调用getFile()方法 getFile(new File(a.getAbsolutePath())); } else if (a.isFile()) { this.fileList.add(a.getAbsolutePath()); } } return fileList; } }
结果演示:
更多阅读