import java.io.*; import java.util.Arrays; import java.util.Comparator; import java.util.Date; public class FileUtils{ public static void main(String args[]) throws Exception { File files[] = FileUtils.dirListByAscendingDate (new File("C:/Applications/folder")); for (File file : files) { System.out.println(file.getName() + " " + new Date(file.lastModified())); } System.out.println("*********"); files = FileUtils.dirListByDescendingDate (new File("C:/Applications/folder")); for (File file : files) { System.out.println(file.getName() + " " + new Date(file.lastModified())); } } @SuppressWarnings("unchecked") public static File[] dirListByAscendingDate(File folder) { if (!folder.isDirectory()) { return null; } File files[] = folder.listFiles(); Arrays.sort( files, new Comparator() { public int compare(final Object o1, final Object o2) { return new Long(((File)o1).lastModified()).compareTo (new Long(((File) o2).lastModified())); } }); return files; } @SuppressWarnings("unchecked") public static File[] dirListByDescendingDate(File folder) { if (!folder.isDirectory()) { return null; } File files[] = folder.listFiles(); Arrays.sort( files, new Comparator() { public int compare(final Object o1, final Object o2) { return new Long(((File)o2).lastModified()).compareTo (new Long(((File) o1).lastModified())); } }); return files; } }