Java list files sort by modified date
About cookies on this siteWe use cookies to collect and analyze information on site performance and usage, to provide social media features and to enhance and customize content and advertisements. This HowTo sorts a directory listing in ascending or descending order (based on the last modified timestamp). 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; } } Take a look at this HowTo to filter by a date interval.Take a look at this HowTo to sort the filenames based on the extension.
Here is an example of how to sort a directory by implementing a Comparator import java.io.File; import java.util.Arrays; import java.util.Comparator; public class ListFilesByDate { public static void main(String[] args) { File dir = new File("/tmp/code"); File[] files = dir.listFiles(); Arrays.sort(files, new Comparator<File>(){ public int compare(File f1, File f2) { return Long.valueOf(f2.lastModified()).compareTo(f1.lastModified()); } }); for(File file: files) { System.out.println(file.getName()); } } }$ java ListFilesByDate ListFilesByDate$1.class ListFilesByDate.class ListFilesByDate.java $ ls -lt total 12 -rw-rw-r-- 1 dennis dennis 791 Apr 3 11:02 ListFilesByDate$1.class -rw-rw-r-- 1 dennis dennis 868 Apr 3 11:02 ListFilesByDate.class -rw-rw-r-- 1 dennis dennis 518 Apr 3 11:01 ListFilesByDate.java
|