public class NameFileComparator extends AbstractFileComparator implements 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 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 name sort using the
NAME_COMPARATOR
singleton instance:
List<File> list = ... ((AbstractFileComparator) NameFileComparator.NAME_COMPARATOR).sort(list);
Example of a reverse case-insensitive file name sort using the
NAME_INSENSITIVE_REVERSE
singleton instance:
File[] array = ... ((AbstractFileComparator) NameFileComparator.NAME_INSENSITIVE_REVERSE).sort(array);
Modifier and Type | Field and Description |
---|---|
private IOCase |
caseSensitivity
Whether the comparison is case sensitive.
|
static java.util.Comparator<java.io.File> |
NAME_COMPARATOR
Case-sensitive name comparator instance (see
IOCase.SENSITIVE ) |
static java.util.Comparator<java.io.File> |
NAME_INSENSITIVE_COMPARATOR
Case-insensitive name comparator instance (see
IOCase.INSENSITIVE ) |
static java.util.Comparator<java.io.File> |
NAME_INSENSITIVE_REVERSE
Reverse case-insensitive name comparator instance (see
IOCase.INSENSITIVE ) |
static java.util.Comparator<java.io.File> |
NAME_REVERSE
Reverse case-sensitive name comparator instance (see
IOCase.SENSITIVE ) |
static java.util.Comparator<java.io.File> |
NAME_SYSTEM_COMPARATOR
System sensitive name comparator instance (see
IOCase.SYSTEM ) |
static java.util.Comparator<java.io.File> |
NAME_SYSTEM_REVERSE
Reverse system sensitive name comparator instance (see
IOCase.SYSTEM ) |
private static long |
serialVersionUID |
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.io.File file1,
java.io.File file2)
Compare the names of two files with the specified case sensitivity.
|
java.lang.String |
toString()
String representation of this file comparator.
|
sort, sort
private static final long serialVersionUID
public static final java.util.Comparator<java.io.File> NAME_COMPARATOR
IOCase.SENSITIVE
)public static final java.util.Comparator<java.io.File> NAME_REVERSE
IOCase.SENSITIVE
)public static final java.util.Comparator<java.io.File> NAME_INSENSITIVE_COMPARATOR
IOCase.INSENSITIVE
)public static final java.util.Comparator<java.io.File> NAME_INSENSITIVE_REVERSE
IOCase.INSENSITIVE
)public static final java.util.Comparator<java.io.File> NAME_SYSTEM_COMPARATOR
IOCase.SYSTEM
)public static final java.util.Comparator<java.io.File> 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.io.File file1, java.io.File file2)
compare
in interface java.util.Comparator<java.io.File>
file1
- The first file to comparefile2
- The second file to comparepublic java.lang.String toString()
toString
in class AbstractFileComparator