В Java есть удобный способ рекурсивно обойти все файлы в директории - метод Files.walk(). Он возвращает Stream<Path>, что позволяет легко фильтровать и обрабатывать файлы через Stream API. Пример - найти все .java файлы в папке src: import java.io.IOException; import java.nio.file.*; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Path startPath = Paths.get("src"); try (Stream<Path> paths = Files.walk(startPath)) { paths .filter(Files::isRegularFile) .filter(path -> path.toString().endsWith(".java")) .forEach(System.out::println); } catch (IOException e) { e.printStackTrace(); } } } Что происходит: • Files.walk(startPath) - рекурсивно проходит по всем папкам • filter(Files::isRegularFile) - оставляет только файлы • endsWith(".java") - фильтр по расширению • forEach - обработка найденных файлов Это намного чище, чем писать собственную рекурсивную функцию обхода директорий. #Java #JavaDev #Programming ⚡️ Полезные ресурсы по Java 🚀