0

プロジェクトに 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;
}

更新: コメントで言及されているようにコードが修正されました。

4

1 に答える 1

0

申し訳ありませんが、ついに私のエラーが見つかりました!

ファイルが1つだけ見つかったときに戻ってきました。for ループの最後でreturnを変更するだけです。

とにかくありがとう

于 2011-11-09T02:25:56.497 に答える