private static void listFiles()

in src/main/java/org/apache/commons/io/FileUtils.java [2367:2383]


    private static void listFiles(final File directory, final List<File> files, final boolean recursive, final FilenameFilter filter) {
        final File[] listFiles = directory.listFiles();
        if (listFiles != null) {
            // Only allocate if you must.
            final List<File> dirs = recursive ? new ArrayList<>() : null;
            Arrays.stream(listFiles).forEach(f -> {
                if (recursive && f.isDirectory()) {
                    dirs.add(f);
                } else if (f.isFile() && filter.accept(directory, f.getName())) {
                    files.add(f);
                }
            });
            if (recursive) {
                dirs.forEach(d -> listFiles(d, files, true, filter));
            }
        }
    }