我一直在努力解决这个问题,所以也许有些人可以帮助我。我有一个带有完整路径的文件列表(这些只是文件 在另一台机器上的字符串),例如:
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。我遇到的问题是我不确定如何以这种方式导航树。
有什么建议和/或其他实现方式?
让我们File来做解析和维护路径的工作。当您要在中显示文件时JTree,您最好创建一个对应的文件, TreeModel例如FileTreeModel,此处引用。因为它实现了TreeModel,所以可以“将其设置为JTree的模型,然后您将 拥有一个普通的旧标准JTree。” 您可以File在任何已安装的文件系统中将任何文件用作根,例如:
TreeModel model = new FileTreeModel(new File(System.getProperty("user.dir"))); JTree tree = new JTree(model);