当前位置: 首页 > 面试题库 >

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

史昱
2023-03-14
问题内容

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

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);


 类似资料:
  • 我想从现有目录中创建一个树,以便它显示其中的所有子文件夹和文件。我使用以下代码: <代码>文件文件=新文件(路径);TreeModel model=新文件TreeModel(文件);JTree tree=新JTree(模型)

  • 问题内容: 我有一个目录树,里面有很多文件。我想将所有这些文件复制到一个新目录中,但所有文件都位于该文件夹的底部。 所以我有这样的事情: 我想要这样的东西: 我很确定有一个bashcommand,但是我还没有找到它。你有什么想法? CS 问题答案: 您正在寻找扁平化目录的方法 所有文件均采用不区分大小写的名称模式。 复制一次至named 。 将列表从扩展为。

  • 问题内容: 我需要从给定目录获取文件及其父目录的路径,但不包括它。 因此,例如,如果给我的方法指定path:作为路径,它将返回该目录及其下所有文件的路径。 因此,如果有子文件夹:,并且每个包含,则该方法的结果将是2个字符串,其中包含和 并且如果在其中有一个目录,该目录中有,则为该文件创建的字符串将为,并且如果还有其他子目录可以继续。 我的想法是我只想要文件上方的目录路径,而不是绝对路径,因此只希望

  • 本文向大家介绍获取Java中目录或文件的绝对路径,包括了获取Java中目录或文件的绝对路径的使用技巧和注意事项,需要的朋友参考一下 方法java.io.File.getAbsolutePath()用于获取字符串形式的文件或目录的绝对路径名。此方法不需要任何参数。 演示此的程序如下所示- 示例 上面程序的输出如下- 输出结果 现在让我们了解上面的程序。 使用方法java.io.File.getAbs

  • 本文向大家介绍Python如何获取文件路径/目录,包括了Python如何获取文件路径/目录的使用技巧和注意事项,需要的朋友参考一下 一、获取文件路径实现 1.1 获取当前文件路径 __file__变量其实有个问题,当文件被是被调用文件时__file__总是文件的绝对路径;但当文件是直接被执行的文件时,__file__并不总是文件的绝对路径,而是你执行该文件时给python传的路径。比如你是pyth

  • 问题内容: 我需要提取某个路径的父目录的名称。看起来是这样的: 我正在使用使用文件名(而不是路径)的东西来修改“文件”的内容。我创建了一个函数,该函数会给我所有文件的列表,然后… 我怎样才能做到这一点? 问题答案: 您可以根据需要继续执行多次… 编辑: 从os.path,您可以使用os.path.split或os.path.basename: