public static V findAdjacentFiles()

in log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/util/FileUtils.java [37:62]


    public static <V> V findAdjacentFiles(
            final Path directory, final boolean dotFilesSkipped, final Function<Stream<Path>, V> consumer) {
        try (final Stream<Path> paths = Files.walk(directory, 1)) {
            final Stream<Path> filteredPaths = paths.filter(path -> {

                // Skip the directory itself
                if (path.equals(directory)) {
                    return false;
                }

                // Skip hidden files
                boolean hiddenFile =
                        dotFilesSkipped && path.getFileName().toString().startsWith(".");
                if (hiddenFile) {
                    return false;
                }

                // Accept the rest
                return true;
            });
            return consumer.apply(filteredPaths);
        } catch (final IOException error) {
            final String message = String.format("failed walking directory: `%s`", directory);
            throw new UncheckedIOException(message, error);
        }
    }