【发布时间】:2010-05-30 14:11:39
【问题描述】:
我想在 Java 应用程序中安装某种文件浏览器,例如 Windows Explorer。
我只想要能够递归地列出文件夹内文件的东西。
有没有简单的方法可以做到这一点?
我已经尝试过使用 JFileChooser,但这不是我想要的。
【问题讨论】:
标签: java windows-explorer directory-listing
我想在 Java 应用程序中安装某种文件浏览器,例如 Windows Explorer。
我只想要能够递归地列出文件夹内文件的东西。
有没有简单的方法可以做到这一点?
我已经尝试过使用 JFileChooser,但这不是我想要的。
【问题讨论】:
标签: java windows-explorer directory-listing
这个 sn-p 允许您递归地列出所有文件。您可以使用这些数据来填充 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:\\" );
}
}
【讨论】:
也许这样的事情会帮助你(这是来自快速谷歌搜索,我不做 GUI,但觉得有义务提供帮助):
http://www.java2s.com/Code/Java/Swing-JFC/FileTreewithPopupMenu.htm
【讨论】:
根据经验,java.awt.FileDialog 提供更多原生外观可能就足够了。这是一个example,它还引用了一个更通用的组件org.netbeans.swing.outline.Outline。
【讨论】: