2011-11-08 29 views
0

我一直在使用tomahawk(1.1.11)的一個項目。我想顯示一個包含所有文件和子目錄(以及這些子目錄中的文件)的樹。我有一個代碼,但沒有列出所有的文件和目錄,也不知道錯誤在哪裏。列出所有文件,目錄和與戰斧樹subdirs

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

對不起,終於發現我的錯誤! 只有一個文件被找到時我正在返回。我只是在for循環結尾修改** return **。 無論如何。 – BRabbit27

回答

0

對不起,終於找到我的錯誤!

當我找到一個文件時我正在返回。我只是在for循環結束時更改返回

無論如何感謝