Apache Commons IO - LastModifiedFileComparator Class



Overview

LastModifiedFileComparator class compares the last modified dates of two files/directory. It can be used to sort the lists or arrays of files/directories using their last modified dates.

Class Declaration

Following is the declaration for org.apache.commons.io.comparator.LastModifiedFileComparator Class −

public class LastModifiedFileComparator
   extends Object implements Serializable

Example - Sorting all files of current Directory.

CommonsIoTester.java

package com.tutorialspoint;

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

public class CommonsIoTester {
   public static void main(String[] args) throws Exception {
      //get the current directory
      File currentDirectory = new File(".");
      LastModifiedFileComparator comparator = new LastModifiedFileComparator();
      File[] sortedFiles = comparator.sort(currentDirectory.listFiles());
      System.out.println("Sorted By Modified Date: ");
      for(File file:sortedFiles) {
         System.out.println(file.getName());
      }  
   }
}

Output

It will print the following result −

Sorted By Modified Date: 
.project
.settings
src
.classpath
bin
output.txt
input.txt

Example - Sorting filtered files of current Directory.

CommonsIoTester.java

package com.tutorialspoint;

import java.io.File;
import java.io.FileFilter;

import org.apache.commons.io.IOCase;
import org.apache.commons.io.comparator.LastModifiedFileComparator;
import org.apache.commons.io.filefilter.FileFileFilter;

public class CommonsIoTester {
   public static void main(String[] args) throws Exception {
      //get the current directory
      File currentDirectory = new File(".");
      LastModifiedFileComparator comparator = new LastModifiedFileComparator();
      File[] sortedFiles = comparator.sort(currentDirectory.listFiles((FileFilter)FileFileFilter.FILE));
      System.out.println("Sorted By Modified Date: ");
      for(File file:sortedFiles) {
         System.out.println(file.getName());
      }  
   }
}

Output

It will print the following result −

Sorted By Modified Date: 
.project
.classpath
output.txt
input.txt
Advertisements