java.io.Serializablepublic class ExtensionFileComparator extends java.lang.Object implements java.io.Serializable
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);
| Modifier and Type | Field | Description |
|---|---|---|
static java.util.Comparator<java.io.File> |
EXTENSION_COMPARATOR |
Case-sensitive extension comparator instance (see
IOCase.SENSITIVE) |
static java.util.Comparator<java.io.File> |
EXTENSION_INSENSITIVE_COMPARATOR |
Case-insensitive extension comparator instance (see
IOCase.INSENSITIVE) |
static java.util.Comparator<java.io.File> |
EXTENSION_INSENSITIVE_REVERSE |
Reverse case-insensitive extension comparator instance (see
IOCase.INSENSITIVE) |
static java.util.Comparator<java.io.File> |
EXTENSION_REVERSE |
Reverse case-sensitive extension comparator instance (see
IOCase.SENSITIVE) |
static java.util.Comparator<java.io.File> |
EXTENSION_SYSTEM_COMPARATOR |
System sensitive extension comparator instance (see
IOCase.SYSTEM) |
static java.util.Comparator<java.io.File> |
EXTENSION_SYSTEM_REVERSE |
Reverse system sensitive path comparator instance (see
IOCase.SYSTEM) |
| Constructor | Description |
|---|---|
ExtensionFileComparator() |
Construct a case sensitive file extension comparator instance.
|
ExtensionFileComparator(IOCase caseSensitivity) |
Construct a file extension comparator instance with the specified case-sensitivity.
|
| Modifier and Type | Method | Description |
|---|---|---|
int |
compare(java.io.File file1,
java.io.File file2) |
Compare the extensions of two files the specified case sensitivity.
|
java.io.File[] |
sort(java.io.File... files) |
Sort an array of files.
|
java.util.List<java.io.File> |
sort(java.util.List<java.io.File> files) |
Sort a List of files.
|
java.lang.String |
toString() |
String representation of this file comparator.
|
public static final java.util.Comparator<java.io.File> EXTENSION_COMPARATOR
IOCase.SENSITIVE)public static final java.util.Comparator<java.io.File> EXTENSION_REVERSE
IOCase.SENSITIVE)public static final java.util.Comparator<java.io.File> EXTENSION_INSENSITIVE_COMPARATOR
IOCase.INSENSITIVE)public static final java.util.Comparator<java.io.File> EXTENSION_INSENSITIVE_REVERSE
IOCase.INSENSITIVE)public static final java.util.Comparator<java.io.File> EXTENSION_SYSTEM_COMPARATOR
IOCase.SYSTEM)public static final java.util.Comparator<java.io.File> EXTENSION_SYSTEM_REVERSE
IOCase.SYSTEM)public ExtensionFileComparator()
public ExtensionFileComparator(IOCase caseSensitivity)
caseSensitivity - how to handle case sensitivity, null means case-sensitivepublic int compare(java.io.File file1, java.io.File file2)
file1 - The first file to comparefile2 - The second file to comparepublic java.lang.String toString()
public java.io.File[] sort(java.io.File... files)
This method uses Arrays.sort(Object[], Comparator)
and returns the original array.
files - The files to sort, may be nullpublic java.util.List<java.io.File> sort(java.util.List<java.io.File> files)
This method uses Collections.sort(List, Comparator)
and returns the original list.
files - The files to sort, may be null