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);
}
}
}
}