Hutool:

 // 使用Hutool,读取目录下所有文件(包含子文件夹),并过滤出.java文件
 List<File> fileList = cn.hutool.core.io.FileUtil.loopFiles(new File("D:/temp"), new FileFilter() {
     @Override
     public boolean accept(File pathname) {
         if (pathname.getName().endsWith(".java")) {
             return true;
         }
         return false;
     }
 });