org.apache.commons.io.comparator
public class NameFileComparator extends Object implements Comparator, Serializable
This comparator can be used to sort lists or arrays of files by their name either in a case-sensitive, case-insensitive or system dependant 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 name sort using the NAME_COMPARATOR singleton instance:
List<File> list = ... Collections.sort(list, NameFileComparator.NAME_COMPARATOR);
Example of a reverse case-insensitive file name sort using the NAME_INSENSITIVE_REVERSE singleton instance:
File[] array = ... Arrays.sort(array, NameFileComparator.NAME_INSENSITIVE_REVERSE);
Since: Commons IO 1.4
Version: $Revision: 609243 $ $Date: 2008-01-06 00:30:42 +0000 (Sun, 06 Jan 2008) $
Field Summary | |
---|---|
IOCase | caseSensitivity Whether the comparison is case sensitive. |
static Comparator | NAME_COMPARATOR Case-sensitive name comparator instance (see SENSITIVE) |
static Comparator | NAME_INSENSITIVE_COMPARATOR Case-insensitive name comparator instance (see INSENSITIVE) |
static Comparator | NAME_INSENSITIVE_REVERSE Reverse case-insensitive name comparator instance (see INSENSITIVE) |
static Comparator | NAME_REVERSE Reverse case-sensitive name comparator instance (see SENSITIVE) |
static Comparator | NAME_SYSTEM_COMPARATOR System sensitive name comparator instance (see SYSTEM) |
static Comparator | NAME_SYSTEM_REVERSE Reverse system sensitive name comparator instance (see SYSTEM) |
Constructor Summary | |
---|---|
NameFileComparator()
Construct a case sensitive file name comparator instance. | |
NameFileComparator(IOCase caseSensitivity)
Construct a file name comparator instance with the specified case-sensitivity.
|
Method Summary | |
---|---|
int | compare(Object obj1, Object obj2)
Compare the names of two files with the specified case sensitivity.
|
Parameters: caseSensitivity how to handle case sensitivity, null means case-sensitive
Parameters: obj1 The first file to compare obj2 The second file to compare
Returns: a negative value if the first file's name is less than the second, zero if the names are the same and a positive value if the first files name is greater than the second file.