File explorer java

2019-05-18 18:42发布

问题:

I'd like to have some kind of file browser like Windows Explorer inside a Java Application.

I just want something that's able to list file inside a folder recursively.

Is there a simple way to do this ?

I already tried to use JFileChooser but it's not what I want.

回答1:

This snippet allows you to list all files recursivly. You could use the data to populate a JTree see this 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:\\" ); 
    } 
} 


回答2:

Perhaps something like this would help you (this is from a quick googling, I don't do GUIs but felt obliged to help):

http://www.java2s.com/Code/Java/Swing-JFC/FileTreewithPopupMenu.htm



回答3:

Empirically, java.awt.FileDialog offers more native look that may suffice. Here's an example that also references a more versatile component, org.netbeans.swing.outline.Outline.