Иногда нужно быстро посмотреть структуру проекта прямо из Java-кода. Удобнее всего вывести дерево папок и файлов с отступами и ветками. Такой приём подходит для утилит, проектов и отладочных скриптов.
Задаём корневую директорию и запускаем вывод дерева:
var root = java.nio.file.Path.of("src");
printTree(root, "");Пишем функцию, которая выводит имя текущей директории и обходит содержимое:
void printTree(java.nio.file.Path dir, String prefix) {
System.out.println(prefix + dir.getFileName());
try (var s = java.nio.file.Files.list(dir)) {
var children = s.toList();
for (int i = 0; i < children.size(); i++) {
var p = children.get(i);
boolean last = (i == children.size() - 1);Добавляем ветки и рекурсивный обход поддиректорий:
try {
var pref = prefix + (last ? "└── " : "├── ");
if (Files.isDirectory(p)) printTree(p, pref);
else System.out.println(pref + p.getFileName());
} catch (IOException e) {
System.out.println("Ошибка: " + e.getMessage());
}🔥 В результате в консоли появится дерево папок, подкаталогов и файлов с ветками и отступами.
👉 Java Ready | #практика