public class IteratorDirectory { /** * get all folders from given path */ private static final String PATH = "C:\\workspace1\\test";
public static List<File> getAllDirectory() { List<File> list = new ArrayList<File>(); File dir = new File(PATH); File files[] = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { list.add(file); } } return list; } /** * get last 3 modified folders * @return */ public static List<File> getLast3Directory() { /*get all folders*/ List<File> files = getAllDirectory(); List<File> results = new ArrayList<File>(); /*store all files with sortable map*/ TreeMap<Long, File> treeMap = new TreeMap<Long, File>(); for (File file : files) { System.out.println("file is dir " + file.getAbsolutePath()); Long lastModifiedTime = file.lastModified(); treeMap.put(lastModifiedTime, file); } while (results.size() < 3) { /*get the last modified folder*/ results.add(treeMap.get(treeMap.lastKey())); /*remove from map*/ treeMap.remove(treeMap.lastKey()); } return results; }