Class PathFileComparator

  • All Implemented Interfaces:
    Serializable, Comparator< File>

    public class PathFileComparator
    extends Object
    implements Serializable
    Compare the path of two files for order (see File.getPath()).

    This comparator can be used to sort lists or arrays of files by their path either in a case-sensitive, case-insensitive or system dependent case sensitive way. A number of singleton instances are provided for the various case sensitivity options (using IOCase) and the reverse of those options.

    Example of a case-sensitive file path sort using the PATH_COMPARATOR singleton instance:

           List<File> list = ...
           ((AbstractFileComparator) PathFileComparator.PATH_COMPARATOR).sort(list);

    Example of a reverse case-insensitive file path sort using the PATH_INSENSITIVE_REVERSE singleton instance:

           File[] array = ...
           ((AbstractFileComparator) PathFileComparator.PATH_INSENSITIVE_REVERSE).sort(array);

    See Also:
    Serialized Form
    • Field Detail


        public static final Comparator<File> PATH_INSENSITIVE_COMPARATOR
        Case-insensitive path comparator instance (see IOCase.INSENSITIVE)

        public static final Comparator<File> PATH_INSENSITIVE_REVERSE
        Reverse case-insensitive path comparator instance (see IOCase.INSENSITIVE)

        public static final Comparator<File> PATH_SYSTEM_COMPARATOR
        System sensitive path comparator instance (see IOCase.SYSTEM)

        public static final Comparator<File> PATH_SYSTEM_REVERSE
        Reverse system sensitive path comparator instance (see IOCase.SYSTEM)
    • Constructor Detail

      • PathFileComparator

        public PathFileComparator()
        Construct a case sensitive file path comparator instance.
      • PathFileComparator

        public PathFileComparator(IOCase caseSensitivity)
        Construct a file path comparator instance with the specified case-sensitivity.
        caseSensitivity - how to handle case sensitivity, null means case-sensitive
    • Method Detail

      • compare

        public int compare(File file1,
                           File file2)
        Compare the paths of two files the specified case sensitivity.
        Specified by:
        compare in interface  Comparator<File>
        file1 - The first file to compare
        file2 - The second file to compare
        a negative value if the first file's path is less than the second, zero if the paths are the same and a positive value if the first files path is greater than the second file.
      • toString

        public String toString()
        String representation of this file comparator.
        String representation of this file comparator
      • sort

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

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

        files - The files to sort, may be null
        The sorted array

Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.