java递归遍历获取目录下所有文件

作者: 杨圣亮 分类: Java编程 发布时间: 2016-08-15 22:45:14

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;

	}
}

结果演示:

java递归遍历获取目录下所有文件(代码)演示

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

4  +  6  =  

微信