给定一个起始路径,我想创建一个树状对象,表示使用 Java 的文件系统,显示所有文件夹到 x 级,但不是普通文件。. 所以使用FileVisitor我知道每次在我要浏览一个新的子文件夹之前都会调用preVisitDirectory()方法,一旦它完成了对所有子文件夹的解析,就会调用postVisitDirectory(),但我的问题是知道如何将此目录附加到其父目录。
即在我的情况下,我想使用 ul/li/ul/li 元素为 jstree 创建数据,并且我使用j2html lib 执行此操作。因此,使用 ul() 创建根目录,然后当我进入 preVisitDirectory() 时,我将创建一个 li() 元素,并且在 postVisitDirectory() 中希望使用 ul().with(li) 附加到 ul() 但我看不到如何跟踪我在构建树的位置。
例如静态硬编码示例实际上不浏览树
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,我应该以某种方式使用它吗?