Package org.apache.commons.io.comparator
package org.apache.commons.io.comparator
Provides various 
Comparator implementations
 for Files and Path.
 Sorting
 All the comparators include convenience utility sort(File...) and
 sort(List) methods.
 
For example, to sort the files in a directory by name:
File[] files = dir.listFiles(); NameFileComparator.NAME_COMPARATOR.sort(files);
...alternatively you can do this in one line:
File[] files = NameFileComparator.NAME_COMPARATOR.sort(dir.listFiles());
Composite Comparator
The CompositeFileComparator can be used to compare (and sort lists or arrays of files) by combining a number of other comparators.
For example, to sort an array of files by type (directory or file) and then by name:
CompositeFileComparator comparator = new CompositeFileComparator( DirectoryFileComparator.DIRECTORY_COMPARATOR, NameFileComparator.NAME_COMPARATOR); File[] files = dir.listFiles(); comparator.sort(files);
Singleton Instances (thread-safe)
 The Comparator implementations have some convenience
 singleton(thread-safe) instances ready to use:
 
- DefaultFileComparator - default file compare:
 - DEFAULT_COMPARATOR
 - Compare using File.compareTo(File)method.
- DEFAULT_REVERSE
 - Reverse compare of File.compareTo(File)method.
 
- DEFAULT_COMPARATOR
 - Compare using 
- DirectoryFileComparator - compare by type (directory or file):
 - DIRECTORY_COMPARATOR
 - Compare using File.isDirectory()method (directories < files).
- DIRECTORY_REVERSE
 - Reverse compare of File.isDirectory()method (directories >files).
 
- DIRECTORY_COMPARATOR
 - Compare using 
- ExtensionFileComparator - compare file extensions:
 - EXTENSION_COMPARATOR
 - Compare using FilenameUtils.getExtension(String)method.
- EXTENSION_REVERSE
 - Reverse compare of FilenameUtils.getExtension(String)method.
- EXTENSION_INSENSITIVE_COMPARATOR
 - Case-insensitive compare using FilenameUtils.getExtension(String)method.
- EXTENSION_INSENSITIVE_REVERSE
 - Reverse case-insensitive compare of FilenameUtils.getExtension(String)method.
- EXTENSION_SYSTEM_COMPARATOR
 -  System sensitive compare using FilenameUtils.getExtension(String)method.
- EXTENSION_SYSTEM_REVERSE
 - Reverse system sensitive compare of FilenameUtils.getExtension(String)method.
 
- EXTENSION_COMPARATOR
 - Compare using 
- LastModifiedFileComparator
 - compare the file's last modified date/time:
 - LASTMODIFIED_COMPARATOR
 - Compare using File.lastModified()method.
- LASTMODIFIED_REVERSE
 - Reverse compare of File.lastModified()method.
 
- LASTMODIFIED_COMPARATOR
 - Compare using 
- NameFileComparator - compare file names:
 - NAME_COMPARATOR
 - Compare using File.getName()method.
- NAME_REVERSE
 - Reverse compare of File.getName()method.
- NAME_INSENSITIVE_COMPARATOR
 - Case-insensitive compare using File.getName()method.
- NAME_INSENSITIVE_REVERSE
 - Reverse case-insensitive compare of File.getName()method.
- NAME_SYSTEM_COMPARATOR
 -  System sensitive compare using File.getName()method.
- NAME_SYSTEM_REVERSE
 - Reverse system sensitive compare of File.getName()method.
 
- NAME_COMPARATOR
 - Compare using 
- PathFileComparator - compare file paths:
 - PATH_COMPARATOR
 - Compare using File.getPath()method.
- PATH_REVERSE
 - Reverse compare of File.getPath()method.
- PATH_INSENSITIVE_COMPARATOR
 - Case-insensitive compare using File.getPath()method.
- PATH_INSENSITIVE_REVERSE
 - Reverse case-insensitive compare of File.getPath()method.
- PATH_SYSTEM_COMPARATOR
 -  System sensitive compare using File.getPath()method.
- PATH_SYSTEM_REVERSE
 - Reverse system sensitive compare of File.getPath()method.
 
- PATH_COMPARATOR
 - Compare using 
- SizeFileComparator - compare the file's size:
 - SIZE_COMPARATOR
 - Compare using File.length()method (directories treated as zero length).
- LASTMODIFIED_REVERSE
 - Reverse compare of File.length()method (directories treated as zero length).
- SIZE_SUMDIR_COMPARATOR
 - Compare using FileUtils.sizeOfDirectory(File)method (sums the size of a directory's contents).
- SIZE_SUMDIR_REVERSE
 - Reverse compare of FileUtils.sizeOfDirectory(File)method (sums the size of a directory's contents).
 
- SIZE_COMPARATOR
 - Compare using 
- 
ClassesClassDescriptionCompare two files using a set of delegate fileComparator.Compares two files using the defaultFile.compareTo(File)method.Compare two files using theFile.isDirectory()method.Compare the file name extensions for order (seeFilenameUtils.getExtension(String)).Compare the last modified date/time of two files for order (seeFileUtils.lastModifiedUnchecked(File)).Compare the names of two files for order (seeFile.getName()).Compare the path of two files for order (seeFile.getPath()).Compare the length/size of two files for order (seeFile.length()andFileUtils.sizeOfDirectory(File)).