Package org.apache.commons.io.comparator
Class NameFileComparator
java.lang.Object
org.apache.commons.io.comparator.NameFileComparator
- All Implemented Interfaces:
Serializable,Comparator<File>
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 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);
Deprecating Serialization
Serialization is deprecated and will be removed in 3.0.
- Since:
- 1.4
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Comparator<File>Case-sensitive name comparator instance (seeIOCase.SENSITIVE)static final Comparator<File>Case-insensitive name comparator instance (seeIOCase.INSENSITIVE)static final Comparator<File>Reverse case-insensitive name comparator instance (seeIOCase.INSENSITIVE)static final Comparator<File>Reverse case-sensitive name comparator instance (seeIOCase.SENSITIVE)static final Comparator<File>System sensitive name comparator instance (seeIOCase.SYSTEM)static final Comparator<File>Reverse system sensitive name comparator instance (seeIOCase.SYSTEM) -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a case-sensitive file name comparator instance.NameFileComparator(IOCase ioCase) Constructs a file name comparator instance with the specified case-sensitivity. -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
NAME_COMPARATOR
Case-sensitive name comparator instance (seeIOCase.SENSITIVE) -
NAME_REVERSE
Reverse case-sensitive name comparator instance (seeIOCase.SENSITIVE) -
NAME_INSENSITIVE_COMPARATOR
Case-insensitive name comparator instance (seeIOCase.INSENSITIVE) -
NAME_INSENSITIVE_REVERSE
Reverse case-insensitive name comparator instance (seeIOCase.INSENSITIVE) -
NAME_SYSTEM_COMPARATOR
System sensitive name comparator instance (seeIOCase.SYSTEM) -
NAME_SYSTEM_REVERSE
Reverse system sensitive name comparator instance (seeIOCase.SYSTEM)
-
-
Constructor Details
-
NameFileComparator
public NameFileComparator()Constructs a case-sensitive file name comparator instance. -
NameFileComparator
Constructs a file name comparator instance with the specified case-sensitivity.- Parameters:
ioCase- how to handle case sensitivity, null means case-sensitive
-
-
Method Details
-
compare
Compares the names of two files with the specified case sensitivity.- Specified by:
comparein interfaceComparator<File>- Parameters:
file1- The first file to comparefile2- 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.
-
toString
String representation of this file comparator.- Returns:
- String representation of this file comparator
-
sort
Sorts an array of files.This method uses
Arrays.sort(Object[], Comparator)and returns the original array.- Parameters:
files- The files to sort, may be null.- Returns:
- The sorted array.
- Since:
- 2.0
-
sort
Sorts a List of files.This method uses
List.sort(Comparator)and returns the original list.- Parameters:
files- The files to sort, may be null.- Returns:
- The sorted list.
- Since:
- 2.0
-