org.apache.commons.io.comparator
Class NameFileComparator
java.lang.Object
org.apache.commons.io.comparator.NameFileComparator
- Comparator, Serializable
public class NameFileComparator
extends java.lang.Object
implements Comparator, Serializable
Compare the
names of two files for order (see
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);
$Revision: 609243 $ $Date: 2008-01-06 00:30:42 +0000 (Sun, 06 Jan 2008) $
int | compare(Object obj1, Object obj2) - Compare the names of two files with the specified case sensitivity.
|
NAME_COMPARATOR
public static final Comparator NAME_COMPARATOR
NAME_INSENSITIVE_COMPARATOR
public static final Comparator NAME_INSENSITIVE_COMPARATOR
NAME_INSENSITIVE_REVERSE
public static final Comparator NAME_INSENSITIVE_REVERSE
NAME_REVERSE
public static final Comparator NAME_REVERSE
NAME_SYSTEM_COMPARATOR
public static final Comparator NAME_SYSTEM_COMPARATOR
NAME_SYSTEM_REVERSE
public static final Comparator NAME_SYSTEM_REVERSE
Reverse system sensitive name comparator instance (see
IOCase.SYSTEM
)
caseSensitivity
private final IOCase caseSensitivity
Whether the comparison is case sensitive.
NameFileComparator
public NameFileComparator()
Construct a case sensitive file name comparator instance.
NameFileComparator
public NameFileComparator(IOCase caseSensitivity)
Construct a file name comparator instance with the specified case-sensitivity.
caseSensitivity
- how to handle case sensitivity, null means case-sensitive
compare
public int compare(Object obj1,
Object obj2)
Compare the names of two files with the specified case sensitivity.
obj1
- The first file to compareobj2
- The second file to compare
- 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.
Copyright (c) 2002-2008 Apache Software Foundation