How do I sort files base on their last modified date?

Category: commons.io, viewed: 10K time(s).

This example demonstrate how to use Apache Commons IO's LastModifiedFileComparator class to sort files base on their last modified date in ascending and descending order.

package org.kodejava.example.commons.io;

import org.apache.commons.io.comparator.LastModifiedFileComparator;

import java.io.File;
import java.util.Arrays;

public class FileSortLastModified {
    public static void main(String[] args) {
        File dir = new File("/home/username/Temp");
        File[] files = dir.listFiles();

        //
        // Sort files in ascending order base on last modification date.
        //
        Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_COMPARATOR);
        for (int i = 0; i < files.length; i++) {
            File file = files[i];
            System.out.printf("File %s - %2$tm %2$te,%2$tY%n= ", file.getName(),
                    file.lastModified());
        }

        System.out.printf("--------------------------------------------------");

        //
        // Sort files in descending order base on last modification date.
        //
        Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE);
        for (int i = 0; i < files.length; i++) {
            File file = files[i];
            System.out.printf("File %s - %2$tm %2$te,%2$tY%n= ", file.getName(),
                    file.lastModified());
        }
    }
}
Powered by Disqus