View Single Post
  #2 (permalink)  
Old 12-12-2007, 03:52 AM
staykovmarin staykovmarin is offline
Senior Member
 
Join Date: Nov 2007
Location: Newport, WA
Posts: 141
staykovmarin is on a distinguished road
Here is one way to do it:
Code:
public void iterate(File folder) { ArrayList<File> folders = getFolders(folder); for (int i = 0; i < folders.size(); i++) { System.out.println(folders.get(i)); // we add the subfolders of the current folder to the main FOLDERS array list folders.addAll(getFolders(folders.get(i))); // then we remove the current folder, so that we dont read it twice folders.remove(i); } } private ArrayList<File> getFolders(File folder) { ArrayList<File> listAr = new ArrayList<File>(); // uses FileFilter to just pull out directories, then puts in an array File[] list = folder.listFiles(new FileFilter() { @Override public boolean accept(File file) { if (file.isDirectory()) return true; return false; } }); // puts all the items from the array in an arraylist for (int i = 0; i < list.length; i++) listAr.add(list[i]); return listAr; }

Last edited by staykovmarin : 12-12-2007 at 03:56 AM.
Reply With Quote