2010-05-30 3 views
2

Я хотел бы иметь какой-то файловый браузер, такой как Проводник Windows в приложении Java.File explorer java

Я просто хочу что-то, что может перечислить файл внутри папки рекурсивно.

Есть ли простой способ сделать это?

Я уже пытался использовать JFileChooser, но это не то, что я хочу.

ответ

5

Этот фрагмент позволяет вам перечислить все файлы рекурсивно. Вы можете использовать эти данные для заполнения 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:\\"); 
    } 
} 
+0

+1 для рекурсии. Вам также может понравиться пример в org.netbeans.swing.outline.Outline, упомянутый в моем ответе. – trashgod

+0

Спасибо, работает как шарм! – Studer

+0

Я не буду делать -1, но: есть экземпляр файла, а затем вы проверяете, является ли это папкой. Если это так, вы передаете путь и создаете новый экземпляр, в то время как вы можете использовать только существующий. –