2010-05-30 7 views
2

Je voudrais avoir une sorte de navigateur de fichiers comme Windows Explorer dans une application Java.Explorateur de fichiers Java

Je veux juste quelque chose qui est capable de lister récursivement le fichier dans un dossier.

Existe-t-il un moyen simple de faire cela?

J'ai déjà essayé d'utiliser JFileChooser mais ce n'est pas ce que je veux.

Répondre

5

Cet extrait vous permet de répertorier tous les fichiers de manière récurrente. Vous pouvez utiliser les données pour remplir un JTree voir ce 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:\\"); 
    } 
} 
+0

+1 pour la récursivité. Vous pourriez aussi aimer l'exemple dans org.netbeans.swing.outline.Outline, mentionné dans ma réponse. – trashgod

+0

Merci, fonctionne comme un charme! – Studer

+0

Je ne vais pas faire -1 mais: il y a une instance de fichier, et ensuite vous vérifiez s'il s'agit d'un dossier. Si c'est le cas, vous passez le chemin et créez une nouvelle instance, alors que vous ne pouvez utiliser que l'instance existante. –

Questions connexes