Package org.apache.commons.io.comparator
Class NameFileComparator
- java.lang.Object
-
- org.apache.commons.io.comparator.AbstractFileComparator
-
- org.apache.commons.io.comparator.NameFileComparator
-
- All Implemented Interfaces:
java.io.Serializable,java.util.Comparator<java.io.File>
public class NameFileComparator extends AbstractFileComparator implements java.io.Serializable
Compare the names of two files for order (seeFile.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_COMPARATORsingleton instance:List<File> list = ... ((AbstractFileComparator) NameFileComparator.NAME_COMPARATOR).sort(list);Example of a reverse case-insensitive file name sort using the
NAME_INSENSITIVE_REVERSEsingleton instance:File[] array = ... ((AbstractFileComparator) NameFileComparator.NAME_INSENSITIVE_REVERSE).sort(array);- Since:
- 1.4
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private IOCasecaseSensitivityWhether the comparison is case sensitive.static java.util.Comparator<java.io.File>NAME_COMPARATORCase-sensitive name comparator instance (seeIOCase.SENSITIVE)static java.util.Comparator<java.io.File>NAME_INSENSITIVE_COMPARATORCase-insensitive name comparator instance (seeIOCase.INSENSITIVE)static java.util.Comparator<java.io.File>NAME_INSENSITIVE_REVERSEReverse case-insensitive name comparator instance (seeIOCase.INSENSITIVE)static java.util.Comparator<java.io.File>NAME_REVERSEReverse case-sensitive name comparator instance (seeIOCase.SENSITIVE)static java.util.Comparator<java.io.File>NAME_SYSTEM_COMPARATORSystem sensitive name comparator instance (seeIOCase.SYSTEM)static java.util.Comparator<java.io.File>NAME_SYSTEM_REVERSEReverse system sensitive name comparator instance (seeIOCase.SYSTEM)private static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompare(java.io.File file1, java.io.File file2)Compare the names of two files with the specified case sensitivity.java.lang.StringtoString()String representation of this file comparator.-
Methods inherited from class org.apache.commons.io.comparator.AbstractFileComparator
sort, sort
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
NAME_COMPARATOR
public static final java.util.Comparator<java.io.File> NAME_COMPARATOR
Case-sensitive name comparator instance (seeIOCase.SENSITIVE)
-
NAME_REVERSE
public static final java.util.Comparator<java.io.File> NAME_REVERSE
Reverse case-sensitive name comparator instance (seeIOCase.SENSITIVE)
-
NAME_INSENSITIVE_COMPARATOR
public static final java.util.Comparator<java.io.File> NAME_INSENSITIVE_COMPARATOR
Case-insensitive name comparator instance (seeIOCase.INSENSITIVE)
-
NAME_INSENSITIVE_REVERSE
public static final java.util.Comparator<java.io.File> NAME_INSENSITIVE_REVERSE
Reverse case-insensitive name comparator instance (seeIOCase.INSENSITIVE)
-
NAME_SYSTEM_COMPARATOR
public static final java.util.Comparator<java.io.File> NAME_SYSTEM_COMPARATOR
System sensitive name comparator instance (seeIOCase.SYSTEM)
-
NAME_SYSTEM_REVERSE
public static final java.util.Comparator<java.io.File> NAME_SYSTEM_REVERSE
Reverse system sensitive name comparator instance (seeIOCase.SYSTEM)
-
caseSensitivity
private final IOCase caseSensitivity
Whether the comparison is case sensitive.
-
-
Constructor Detail
-
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.- Parameters:
caseSensitivity- how to handle case sensitivity, null means case-sensitive
-
-
Method Detail
-
compare
public int compare(java.io.File file1, java.io.File file2)Compare the names of two files with the specified case sensitivity.- Specified by:
comparein interfacejava.util.Comparator<java.io.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
public java.lang.String toString()
String representation of this file comparator.- Overrides:
toStringin classAbstractFileComparator- Returns:
- String representation of this file comparator
-
-