Class DirectoryFileComparator

java.lang.Object
org.apache.commons.io.comparator.AbstractFileComparator
org.apache.commons.io.comparator.DirectoryFileComparator
All Implemented Interfaces:
Serializable, Comparator<File>

public class DirectoryFileComparator extends AbstractFileComparator implements Serializable
Compare two files using the File.isDirectory() method.

This comparator can be used to sort lists or arrays by directories and files.

Example of sorting a list of files/directories using the DIRECTORY_COMPARATOR singleton instance:

       List<File> list = ...
       ((AbstractFileComparator) DirectoryFileComparator.DIRECTORY_COMPARATOR).sort(list);
 

Example of doing a reverse sort of an array of files/directories using the DIRECTORY_REVERSE singleton instance:

       File[] array = ...
       ((AbstractFileComparator) DirectoryFileComparator.DIRECTORY_REVERSE).sort(array);
 

Since:
2.0
See Also:
  • Field Details

    • TYPE_FILE

      private static final int TYPE_FILE
      See Also:
    • TYPE_DIRECTORY

      private static final int TYPE_DIRECTORY
      See Also:
    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • DIRECTORY_COMPARATOR

      public static final Comparator<File> DIRECTORY_COMPARATOR
      Singleton default comparator instance
    • DIRECTORY_REVERSE

      public static final Comparator<File> DIRECTORY_REVERSE
      Singleton reverse default comparator instance
  • Constructor Details

    • DirectoryFileComparator

      public DirectoryFileComparator()
  • Method Details

    • compare

      public int compare(File file1, File file2)
      Compare the two files using the File.isDirectory() method.
      Specified by:
      compare in interface Comparator<File>
      Parameters:
      file1 - The first file to compare
      file2 - The second file to compare
      Returns:
      the result of calling file1's File.compareTo(File) with file2 as the parameter.
    • getType

      private int getType(File file)
      Convert type to numeric value.
      Parameters:
      file - The file
      Returns:
      1 for directories and 2 for files