我想在Java应用程序内部有类似Windows资源管理器的文件浏览器。文件资源管理器java
我只想要能够递归地在文件夹中列出文件的东西。
有没有简单的方法来做到这一点?
我已经尝试使用JFileChooser,但它不是我想要的。
我想在Java应用程序内部有类似Windows资源管理器的文件浏览器。文件资源管理器java
我只想要能够递归地在文件夹中列出文件的东西。
有没有简单的方法来做到这一点?
我已经尝试使用JFileChooser,但它不是我想要的。
该片段允许您递归列出所有文件。你可以使用这些数据来填充一个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:\\");
}
}
也许这样的事情会帮助你(这是一个快速的google搜索,我不这样做的GUI,但觉得有义务帮助):
http://www.java2s.com/Code/Java/Swing-JFC/FileTreewithPopupMenu.htm
根据经验,java.awt.FileDialog
提供更多的本地外观可能就足够了。这里有一个example,它也引用了一个更通用的组件org.netbeans.swing.outline.Outline
。
+1递归。您可能还喜欢org.netbeans.swing.outline.Outline中的示例,在我的答案中提到。 – trashgod 2010-05-30 16:38:26
谢谢,作品像魅力! – Studer 2010-06-01 14:39:33
我不打算做-1,但:有一个文件实例,然后检查它是否是一个文件夹。如果是这样,您可以传递路径并创建一个新实例,而您只能使用现有的实例。 – 2010-06-01 15:12:40