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:
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 TypeFieldDescriptionprivate final IOCase
Whether the comparison is case-sensitive.static 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
)private static final long
-
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 org.apache.commons.io.comparator.AbstractFileComparator
sort, sort
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
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
) -
ioCase
Whether the comparison is case-sensitive.
-
-
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:
compare
in 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.- Overrides:
toString
in classAbstractFileComparator
- Returns:
- String representation of this file comparator
-