0

So, I'm am trying to list in a Jlist all the text files from my computer.I created the following algorithm, the problem is that it doesn't finish,and my processor goes to 100%. Can anyone suggest a better implementation? Here is my Code:

public AllFilesFrame() {
    initComponents();
    setTitle("All Files");
    jList1.setModel(model);
    getDirectories("/");
}

private void getDirectories(String directory){
   File file = new File(directory);
   File[] directories = file.listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File current, String name) {
            return new File(current, name).isDirectory();
        }
   });
   if(directories != null){
        for(int i=0;i<directories.length;i++){
            listFiles(directories[i]);
            getDirectories(directories[i].toString());
        }
   }
}

private void listFiles(File folderName){
    File f = new File(folderName.toString());
    FilenameFilter textFilter = new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return name.toLowerCase().endsWith(".txt");
        }
    };
    File[] files = f.listFiles(textFilter);
    if(files != null){
        for(File file : files){
            if(file.isFile()){
                model.addElement(file);
            }
        }
    }
}
Radu Soigan
  • 137
  • 1
  • 8

0 Answers0