Class DirectoryFileComparator

  • All Implemented Interfaces:
    Serializable, Comparator<File>

    public class DirectoryFileComparator
    extends Object
    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:
    Serialized Form
    • Field Detail

      • 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 Detail

      • DirectoryFileComparator

        public DirectoryFileComparator()
    • Method Detail

      • 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.
      • sort

        public File[] sort​(File... files)
        Sort an array of files.

        This method uses Arrays.sort(Object[], Comparator) and returns the original array.

        Parameters:
        files - The files to sort, may be null
        Returns:
        The sorted array
        Since:
        2.0
      • toString

        public String toString()
        String representation of this file comparator.
        Overrides:
        toString in class Object
        Returns:
        String representation of this file comparator