Перечислите все файлы, каталоги и подкаталоги с томагавком - PullRequest
0 голосов
/ 08 ноября 2011

Я использую томагавк (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 голосов
/ 09 ноября 2011

Извините, наконец-то нашел мою ошибку!

Я возвращался, когда был найден только один файл.и я просто изменяю это возвращаем в конце цикла for.

...