一尘不染

文件路径中的Java JTree目录结构

java

我一直在努力解决这个问题,所以也许有些人可以帮助我。我有一个带有完整路径的文件列表(这些只是文件
在另一台机器上的字符串),例如:

C:\a\b\c\file1.txt
C:\a\b\c\file2.txt
C:\a\d\file3.txt
C:\e\file4.txt

我想创建一个Jtree来显示目录结构,如下所示:

C:
  a
   b
    c
     file1.txt
     file2.txt
   d
    file3.tct
  e
   file4.txt

I’ve been spliting the string on the seperator so I end up with a list of
arrays like:

"C:","a","b","c","file1.txt"
"C:","a","b","c","file2.txt"
"C:","a","d","file3.txt"
"C:","e","file4.txt"

现在,我想一次为它们添加一个索引,但是如果该值已经在该级别存在,则跳到下一个索引。也就是说,它将添加第一个数组,
然后在第二个数组上将其添加到树的0级,并且已经存在一个“ C:”,因此移至该树的1级和该数组的索引1。我遇到的问题是我不确定如何以这种方式导航树。

有什么建议和/或其他实现方式?


阅读 359

收藏
2020-09-08

共1个答案

一尘不染

让我们File来做解析和维护路径的工作。当您要在中显示文件时JTree,您最好创建一个对应的文件,
TreeModel例如FileTreeModel,此处引用。因为它实现了TreeModel,所以可以“将其设置为JTree的模型,然后您将
拥有一个普通的旧标准JTree。” 您可以File在任何已安装的文件系统中将任何文件用作根,例如:

TreeModel model = new FileTreeModel(new File(System.getProperty("user.dir")));
JTree tree = new JTree(model);
2020-09-08