Package org.apache.commons.io.comparator
Class PathFileComparator
- java.lang.Object
-
- org.apache.commons.io.comparator.AbstractFileComparator
-
- org.apache.commons.io.comparator.PathFileComparator
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.Comparator<java.io.File>
public class PathFileComparator extends AbstractFileComparator implements java.io.Serializable
Compare the path of two files for order (seeFile.getPath()
).This comparator can be used to sort lists or arrays of files by their path 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 path sort using the
PATH_COMPARATOR
singleton instance:List<File> list = ... ((AbstractFileComparator) PathFileComparator.PATH_COMPARATOR).sort(list);
Example of a reverse case-insensitive file path sort using the
PATH_INSENSITIVE_REVERSE
singleton instance:File[] array = ... ((AbstractFileComparator) PathFileComparator.PATH_INSENSITIVE_REVERSE).sort(array);
Deprecating Serialization
Serialization is deprecated and will be removed in 3.0.
- Since:
- 1.4
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private IOCase
ioCase
Whether the comparison is case-sensitive.static java.util.Comparator<java.io.File>
PATH_COMPARATOR
Case-sensitive path comparator instance (seeIOCase.SENSITIVE
)static java.util.Comparator<java.io.File>
PATH_INSENSITIVE_COMPARATOR
Case-insensitive path comparator instance (seeIOCase.INSENSITIVE
)static java.util.Comparator<java.io.File>
PATH_INSENSITIVE_REVERSE
Reverse case-insensitive path comparator instance (seeIOCase.INSENSITIVE
)static java.util.Comparator<java.io.File>
PATH_REVERSE
Reverse case-sensitive path comparator instance (seeIOCase.SENSITIVE
)static java.util.Comparator<java.io.File>
PATH_SYSTEM_COMPARATOR
System sensitive path comparator instance (seeIOCase.SYSTEM
)static java.util.Comparator<java.io.File>
PATH_SYSTEM_REVERSE
Reverse system sensitive path comparator instance (seeIOCase.SYSTEM
)private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description PathFileComparator()
Constructs a case-sensitive file path comparator instance.PathFileComparator(IOCase ioCase)
Constructs a file path comparator instance with the specified case-sensitivity.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(java.io.File file1, java.io.File file2)
Compares the paths of two files the specified case sensitivity.java.lang.String
toString()
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
-
PATH_COMPARATOR
public static final java.util.Comparator<java.io.File> PATH_COMPARATOR
Case-sensitive path comparator instance (seeIOCase.SENSITIVE
)
-
PATH_REVERSE
public static final java.util.Comparator<java.io.File> PATH_REVERSE
Reverse case-sensitive path comparator instance (seeIOCase.SENSITIVE
)
-
PATH_INSENSITIVE_COMPARATOR
public static final java.util.Comparator<java.io.File> PATH_INSENSITIVE_COMPARATOR
Case-insensitive path comparator instance (seeIOCase.INSENSITIVE
)
-
PATH_INSENSITIVE_REVERSE
public static final java.util.Comparator<java.io.File> PATH_INSENSITIVE_REVERSE
Reverse case-insensitive path comparator instance (seeIOCase.INSENSITIVE
)
-
PATH_SYSTEM_COMPARATOR
public static final java.util.Comparator<java.io.File> PATH_SYSTEM_COMPARATOR
System sensitive path comparator instance (seeIOCase.SYSTEM
)
-
PATH_SYSTEM_REVERSE
public static final java.util.Comparator<java.io.File> PATH_SYSTEM_REVERSE
Reverse system sensitive path comparator instance (seeIOCase.SYSTEM
)
-
ioCase
private final IOCase ioCase
Whether the comparison is case-sensitive.
-
-
Constructor Detail
-
PathFileComparator
public PathFileComparator()
Constructs a case-sensitive file path comparator instance.
-
PathFileComparator
public PathFileComparator(IOCase ioCase)
Constructs a file path comparator instance with the specified case-sensitivity.- Parameters:
ioCase
- how to handle case sensitivity, null means case-sensitive
-
-
Method Detail
-
compare
public int compare(java.io.File file1, java.io.File file2)
Compares the paths of two files the specified case sensitivity.- Specified by:
compare
in 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 path is less than the second, zero if the paths are the same and a positive value if the first files path is greater than the second file.
-
toString
public java.lang.String toString()
String representation of this file comparator.- Overrides:
toString
in classAbstractFileComparator
- Returns:
- String representation of this file comparator
-
-