private void listFilesRecursively()

in old/dekaf-core/src/main/java/org/jetbrains/dekaf/util/Directories.java [32:56]


  private void listFilesRecursively(final @NotNull File dir,
                                    final @NotNull Pattern fileNamePattern,
                                    final @NotNull Collection<File> foundFiles) {
    // handle this level files
    final File[] files = dir.listFiles(new FileFilter() {
      @Override
      public boolean accept(File file) {
        return file.isFile() && matches(file.getName(), fileNamePattern);
      }
    });
    if (files != null) Collections.addAll(foundFiles, files);

    // handle subdirectories
    final File[] nestedDirs = dir.listFiles(new FileFilter() {
      @Override
      public boolean accept(File pathname) {
        return pathname.isDirectory();
      }
    });
    if (nestedDirs != null) {
      for (File nestedDir : nestedDirs) {
        listFilesRecursively(nestedDir, fileNamePattern, foundFiles);
      }
    }
  }