#recursion #tree #tomahawk
#рекурсия #дерево #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. Извините, наконец-то найдена моя ошибка! Я возвращался, когда был найден только один файл. и я просто изменяю этот возврат в конце цикла for. В любом случае спасибо.
Ответ №1:
Извините, наконец-то найдена моя ошибка!
Я возвращался, когда был найден только один файл. и я просто изменяю этот возврат в конце цикла for.
В любом случае спасибо