我想在 Java 应用程序中有某种文件浏览器,例如 Windows 资源管理器。
我只想要能够递归地列出文件夹内文件的东西。
有没有一种简单的方法可以做到这一点?
我已经尝试过使用 JFileChooser 但这不是我想要的。
我想在 Java 应用程序中有某种文件浏览器,例如 Windows 资源管理器。
我只想要能够递归地列出文件夹内文件的东西。
有没有一种简单的方法可以做到这一点?
我已经尝试过使用 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:\\" );
}
}
也许这样的事情会帮助你(这是来自快速谷歌搜索,我不做 GUI,但觉得有义务提供帮助):
http://www.java2s.com/Code/Java/Swing-JFC/FileTreewithPopupMenu.htm
根据经验,java.awt.FileDialog
提供更多的原生外观可能就足够了。这是一个示例,它还引用了一个更通用的组件,org.netbeans.swing.outline.Outline
.