В Java, как мне создать структурированное дерево с помощью FileVisitor
Учитывая начальный путь, я хочу создать древовидный объект, представляющий файловую систему с использованием Java, показывающий все папки до уровня x, но не обычные файлы., Поэтому, используя FileVisitor, я знаю, что каждый раз перед тем, как я собираюсь просмотреть новую подпапку, будет вызываться метод preVisitDirectory (), и после завершения анализа всех его дочерних элементов будет вызываться postVisitDirectory (), но моя проблема заключается в том, чтобы знать, как прикрепите этот каталог к его родителю.
т.е. в моем случае я хочу создать данные для jstree, используя элементы ul / li / ul / li, и я делаю это с помощью j2html lib. Поэтому создайте root с помощью ul(), затем, когда я зайду в preVisitDirectory (), я создам элемент li (), а в postVisitDirectory () захочу присоединиться к ul () с помощью ul (). With (li), но я не вижу как отслеживать, где я нахожусь в построении моего дерева.
например, статически жестко закодированный пример, который не просматривает дерево
public Tag createBrowseTreeAsHtml()
{
Tag ulTag = ul(
li("ChildNode 2").withId("child_node_1"),
li("ChildNode")
);
Tag divTag= div(
ul(
li("Root Node 1").with(ulTag),
li("Root Node 2")
)
)
.withId("jstree");
return div().with(divTag);
}
Я вижу, что в Guava есть поддержка Graphs, должен ли я как-то использовать это?