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);
}
}
}