File类的List()方法可以接受一个FilenameFilter参数,通过该参数可以对文件过滤。

public class FilenamFilterTest {
    public static void main(String[] args) {
        File file = new File(".");
        String[] nameList = file.list((dir, name) -> name.endsWith(".java")
                || new File(name).isDirectory());
        //list all java file and directories under contemporary path 
        for (String name : nameList) {
            System.out.println(name);
        }
    }
}