我一直在使用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;
}
更新:代码已在评论中更正。
答案 0 :(得分:0)
抱歉,终于找到了我的错误!
当找到一个文件时我回来了。我只是在for循环结束时更改了 return 。
非常感谢