java 根据特定后缀,递归读取文件路径下的所有文件

2023-05-27 16:08:02 浏览数 (1)

1 代码实现

代码语言:javascript复制
 /**
     * 递归读取文件路径下的所有文件
     *
     * @param path
     * @param fileNameList
     * @return
     */
    public static ArrayList<String> readFiles(String path, ArrayList<String> fileNameList, Pattern pattern) {
        File file = new File(path);
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (int i = 0; i < files.length; i  ) {
                if (files[i].isDirectory()) {
                    readFiles(files[i].getPath(), fileNameList,pattern);
                } else {
                    String path1 = files[i].getName();
                    if(pattern.matcher(path1).find()){
                        fileNameList.add(files[i].getPath());
                    }
                }
            }
        } else {
            String path1 = file.getName();
            if(pattern.matcher(path1).find()){
                fileNameList.add(file.getPath());
            }
        }
        return fileNameList;
    }

2 使用

代码语言:javascript复制
readFiles(path, strings, Pattern.compile("^*.abj$"));

0 人点赞