public class ExtensionFileComparator extends Object implements 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 and Description |
---|---|
static Comparator<File> |
EXTENSION_COMPARATOR
Case-sensitive extension comparator instance (see
IOCase.SENSITIVE ) |
static Comparator<File> |
EXTENSION_INSENSITIVE_COMPARATOR
Case-insensitive extension comparator instance (see
IOCase.INSENSITIVE ) |
static Comparator<File> |
EXTENSION_INSENSITIVE_REVERSE
Reverse case-insensitive extension comparator instance (see
IOCase.INSENSITIVE ) |
static Comparator<File> |
EXTENSION_REVERSE
Reverse case-sensitive extension comparator instance (see
IOCase.SENSITIVE ) |
static Comparator<File> |
EXTENSION_SYSTEM_COMPARATOR
System sensitive extension comparator instance (see
IOCase.SYSTEM ) |
static Comparator<File> |
EXTENSION_SYSTEM_REVERSE
Reverse system sensitive path comparator instance (see
IOCase.SYSTEM ) |
Constructor and 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 and Description |
---|---|
int |
compare(File file1,
File file2)
Compare the extensions of two files the specified case sensitivity.
|
File[] |
sort(File... files)
Sort an array of files.
|
List<File> |
sort(List<File> files)
Sort a List of files.
|
String |
toString()
String representation of this file comparator.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public static final Comparator<File> EXTENSION_COMPARATOR
IOCase.SENSITIVE
)public static final Comparator<File> EXTENSION_REVERSE
IOCase.SENSITIVE
)public static final Comparator<File> EXTENSION_INSENSITIVE_COMPARATOR
IOCase.INSENSITIVE
)public static final Comparator<File> EXTENSION_INSENSITIVE_REVERSE
IOCase.INSENSITIVE
)public static final Comparator<File> EXTENSION_SYSTEM_COMPARATOR
IOCase.SYSTEM
)public static final Comparator<File> EXTENSION_SYSTEM_REVERSE
IOCase.SYSTEM
)public ExtensionFileComparator()
public ExtensionFileComparator(IOCase caseSensitivity)
caseSensitivity
- how to handle case sensitivity, null means case-sensitivepublic int compare(File file1, File file2)
compare
in interface Comparator<File>
file1
- The first file to comparefile2
- The second file to comparepublic String toString()
public File[] sort(File... files)
This method uses Arrays.sort(Object[], Comparator)
and returns the original array.
files
- The files to sort, may be nullCopyright © 2002–2020 The Apache Software Foundation. All rights reserved.