2010-05-30 152 views
2

我想在Java应用程序内部有类似Windows资源管理器的文件浏览器。文件资源管理器java

我只想要能够递归地在文件夹中列出文件的东西。

有没有简单的方法来做到这一点?

我已经尝试使用JFileChooser,但它不是我想要的。

回答

5

该片段允许您递归列出所有文件。你可以使用这些数据来填充一个JTree看到这个tutorial

public class Filewalker { 

    public void walk(String path) { 

     File root = new File(path); 
     File[] list = root.listFiles(); 

     for (File f : list) { 
      if (f.isDirectory()) { 
       walk(f.getAbsolutePath()); 
       System.err.println("Dir:" + f.getAbsoluteFile()); 
      } 
      else { 
       System.err.println("File:" + f.getAbsoluteFile()); 
      } 
     } 
    } 

    public static void main(String[] args) { 
     Filewalker fw = new Filewalker(); 
     fw.walk("c:\\"); 
    } 
} 
+0

+1递归。您可能还喜欢org.netbeans.swing.outline.Outline中的示例,在我的答案中提到。 – trashgod 2010-05-30 16:38:26

+0

谢谢,作品像魅力! – Studer 2010-06-01 14:39:33

+0

我不打算做-1,但:有一个文件实例,然后检查它是否是一个文件夹。如果是这样,您可以传递路径并创建一个新实例,而您只能使用现有的实例。 – 2010-06-01 15:12:40