java文件目录遍历工具类

java

浏览数:178

2019-1-13


FileDirUtils.java

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class FileDirUtils {
    public static final FileDirUtils ME = new FileDirUtils();
    private FileDirUtils(){}

    public List<File> getFileList(File file) {
        return getFileList(new ArrayList<>(), file);
    }

    /**
     * 递归遍历文件列表
     * @param result 结果
     * @param file 目录文件
     * @return 遍历结果
     */
    private List<File> getFileList(List<File> result, File file) {
        if (!file.exists()){
            return result;
        }
        if (file.isFile()){
            result.add(file);
            return result;
        }
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            if (files==null){
                return result;
            }
            for (File f : files) {
                getFileList(result, f);
            }
        }
        return result;
    }
}