我希望在Java应用程序中拥有类似Windows资源管理器的文件浏览器。
我只需要能够递归列出文件夹内的文件的工具。
是否有简单的方法实现这一点?
我已经尝试使用JFileChooser,但它不符合我的要求。
我只需要能够递归列出文件夹内的文件的工具。
是否有简单的方法实现这一点?
我已经尝试使用JFileChooser,但它不符合我的要求。
这段代码允许您递归列出所有文件。您可以使用数据填充JTree,参见此教程。
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:\\" );
}
}
http://www.java2s.com/Code/Java/Swing-JFC/FileTreewithPopupMenu.htm
根据实证,java.awt.FileDialog
提供更本地化的外观,可能足够使用。这里是一个示例,还引用了一个更多功能的组件org.netbeans.swing.outline.Outline
。