package lambdas; import java.io.File; import java.io.FilenameFilter; import java.util.Arrays; import java.util.function.Consumer; public class FilenameFilterDemo { @SuppressWarnings("ConstantConditions") public static void main(String[] args) { File directory = new File("src/main/java"); // Print all files in directory String[] fileNames = directory.list(); System.out.println(Arrays.asList(fileNames)); // Print only Java source files in directory fileNames = directory.list(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endsWith(".java"); } }); System.out.println(Arrays.asList(fileNames)); fileNames = directory.list((dir, name) -> name.endsWith(".java")); System.out.println(Arrays.asList(fileNames)); Arrays.stream(fileNames) .forEach(s -> System.out.println("The current strings is " + s)); Arrays.stream(fileNames) .forEach(System.out::println); } }