使用tomahawk树列出所有文件,目录和子目录

时间:2011-11-08 18:16:57

标签: recursion tree tomahawk

我一直在使用tomahawk(1.1.11)来完成一个项目。我想显示一个包含所有文件和子目录(以及这些子目录中的文件)的树。我有一个代码,但它没有列出所有文件和目录,也不知道错误在哪里。

public TreeNode getTreeData() {
    path = loadConfiguredPath();
    String dependencia = userVerifier.getDependencia();

    if (dependencia.equals("TEST")) {
        path = path + "dataFiles";
    } else {
        path = path + "dataFiles\\" + dependencia;
    }

    dirRoot = new File(path);
    treeRoot = new TreeNodeBase("folder", "BASEDIR", false);
    createTree(dirRoot, treeRoot);

    return treeRoot;
}

private void createTree(File fileRoot, TreeNode treeRoot) {
    File[] files = fileRoot.listFiles();
    TreeNodeBase tnb;
    for (File f : files) {
        if (f.isDirectory()) {
            tnb = new TreeNodeBase("folder", f.getName(), false);
            treeRoot.getChildren().add(tnb);
            createTree(f, tnb);
        }
        if (f.isFile()) {
            tnb = new TreeNodeBase("file", f.getName(), false);
            treeRoot.getChildren().add(tnb);
            //return;
        }
    }
    return;
}

更新:代码已在评论中更正。

1 个答案:

答案 0 :(得分:0)

抱歉,终于找到了我的错误!

当找到一个文件时我回来了。我只是在for循环结束时更改了 return

非常感谢

相关问题