Package org.apache.commons.io.comparator
Class ExtensionFileComparator
java.lang.Object
org.apache.commons.io.comparator.ExtensionFileComparator
- All Implemented Interfaces:
Serializable
,Comparator<File>
Compare the file name extensions for order
(see
FilenameUtils.getExtension(String)
).
This comparator can be used to sort lists or arrays of files
by their file extension 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 extension sort using the
EXTENSION_COMPARATOR
singleton instance:
List<File> list = ... ((AbstractFileComparator) ExtensionFileComparator.EXTENSION_COMPARATOR).sort(list);
Example of a reverse case-insensitive file extension sort using the
EXTENSION_INSENSITIVE_REVERSE
singleton instance:
File[] array = ... ((AbstractFileComparator) ExtensionFileComparator.EXTENSION_INSENSITIVE_REVERSE).sort(array);
- Since:
- 1.4
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Comparator
<File> Case-sensitive extension comparator instance (seeIOCase.SENSITIVE
)static final Comparator
<File> Case-insensitive extension comparator instance (seeIOCase.INSENSITIVE
)static final Comparator
<File> Reverse case-insensitive extension comparator instance (seeIOCase.INSENSITIVE
)static final Comparator
<File> Reverse case-sensitive extension comparator instance (seeIOCase.SENSITIVE
)static final Comparator
<File> System sensitive extension comparator instance (seeIOCase.SYSTEM
)static final Comparator
<File> Reverse system sensitive path comparator instance (seeIOCase.SYSTEM
) -
Constructor Summary
ConstructorsConstructorDescriptionConstruct a case sensitive file extension comparator instance.ExtensionFileComparator
(IOCase caseSensitivity) Construct a file extension comparator instance with the specified case-sensitivity. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
EXTENSION_COMPARATOR
Case-sensitive extension comparator instance (seeIOCase.SENSITIVE
) -
EXTENSION_REVERSE
Reverse case-sensitive extension comparator instance (seeIOCase.SENSITIVE
) -
EXTENSION_INSENSITIVE_COMPARATOR
Case-insensitive extension comparator instance (seeIOCase.INSENSITIVE
) -
EXTENSION_INSENSITIVE_REVERSE
Reverse case-insensitive extension comparator instance (seeIOCase.INSENSITIVE
) -
EXTENSION_SYSTEM_COMPARATOR
System sensitive extension comparator instance (seeIOCase.SYSTEM
) -
EXTENSION_SYSTEM_REVERSE
Reverse system sensitive path comparator instance (seeIOCase.SYSTEM
)
-
-
Constructor Details
-
ExtensionFileComparator
public ExtensionFileComparator()Construct a case sensitive file extension comparator instance. -
ExtensionFileComparator
Construct a file extension comparator instance with the specified case-sensitivity.- Parameters:
caseSensitivity
- how to handle case sensitivity, null means case-sensitive
-
-
Method Details
-
compare
Compare the extensions of two files the specified case sensitivity.- Specified by:
compare
in interfaceComparator<File>
- Parameters:
file1
- The first file to comparefile2
- The second file to compare- Returns:
- a negative value if the first file's extension is less than the second, zero if the extensions are the same and a positive value if the first files extension is greater than the second file.
-
toString
String representation of this file comparator.- Returns:
- String representation of this file comparator
-
sort
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
-
sort
Sort a List of files.This method uses
Collections.sort(List, Comparator)
and returns the original list.- Parameters:
files
- The files to sort, may be null- Returns:
- The sorted list
- Since:
- 2.0
-