public class NameFileComparator
extends java.lang.Object
implements java.util.Comparator, java.io.Serializable
File.getName()).
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);
| Modifier and Type | Field and Description |
|---|---|
private IOCase |
caseSensitivity
Whether the comparison is case sensitive.
|
static java.util.Comparator |
NAME_COMPARATOR
Case-sensitive name comparator instance (see
IOCase.SENSITIVE) |
static java.util.Comparator |
NAME_INSENSITIVE_COMPARATOR
Case-insensitive name comparator instance (see
IOCase.INSENSITIVE) |
static java.util.Comparator |
NAME_INSENSITIVE_REVERSE
Reverse case-insensitive name comparator instance (see
IOCase.INSENSITIVE) |
static java.util.Comparator |
NAME_REVERSE
Reverse case-sensitive name comparator instance (see
IOCase.SENSITIVE) |
static java.util.Comparator |
NAME_SYSTEM_COMPARATOR
System sensitive name comparator instance (see
IOCase.SYSTEM) |
static java.util.Comparator |
NAME_SYSTEM_REVERSE
Reverse system sensitive name comparator instance (see
IOCase.SYSTEM) |
| Constructor and Description |
|---|
NameFileComparator()
Construct a case sensitive file name comparator instance.
|
NameFileComparator(IOCase caseSensitivity)
Construct a file name comparator instance with the specified case-sensitivity.
|
| Modifier and Type | Method and Description |
|---|---|
int |
compare(java.lang.Object obj1,
java.lang.Object obj2)
Compare the names of two files with the specified case sensitivity.
|
public static final java.util.Comparator NAME_COMPARATOR
IOCase.SENSITIVE)public static final java.util.Comparator NAME_REVERSE
IOCase.SENSITIVE)public static final java.util.Comparator NAME_INSENSITIVE_COMPARATOR
IOCase.INSENSITIVE)public static final java.util.Comparator NAME_INSENSITIVE_REVERSE
IOCase.INSENSITIVE)public static final java.util.Comparator NAME_SYSTEM_COMPARATOR
IOCase.SYSTEM)public static final java.util.Comparator NAME_SYSTEM_REVERSE
IOCase.SYSTEM)private final IOCase caseSensitivity
public NameFileComparator()
public NameFileComparator(IOCase caseSensitivity)
caseSensitivity - how to handle case sensitivity, null means case-sensitivepublic int compare(java.lang.Object obj1,
java.lang.Object obj2)
compare in interface java.util.Comparatorobj1 - The first file to compareobj2 - The second file to compareCopyright (c) 2002-2014 Apache Software Foundation