This package provides various {@link java.util.Comparator} implementations for {@link java.io.File}s.
  All the compartors 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());
  
The CompositeFileComparator can be used to compare (and sort lists or arrays of files) by combining a number other comparators.
For example, to sort an array of files by type (i.e. directory or file) and then by name:
        CompositeFileComparator comparator =
                        new CompositeFileComparator(
                                    DirectoryFileComparator.DIRECTORY_COMPARATOR,
                                    NameFileComparator.NAME_COMPARATOR);
        File[] files = dir.listFiles();
        comparator.sort(files);
  
The {@link java.util.Comparator} implementations have some convenience singleton(thread-safe) instances ready to use:
File.compareTo(File) method.
           File.compareTo(File) method.
           File.isDirectory() method (directories < files).
           File.isDirectory() method  (directories > files).
           FilenameUtils.getExtension(String) method.
           FilenameUtils.getExtension(String) method.
           FilenameUtils.getExtension(String) method.
           FilenameUtils.getExtension(String) method.
           FilenameUtils.getExtension(String) method.
           FilenameUtils.getExtension(String) method.
           File.lastModified() method.
           File.lastModified() method.
           File.getName() method.
           File.getName() method.
           File.getName() method.
           File.getName() method.
           File.getName() method.
           File.getName() method.
           File.getPath() method.
           File.getPath() method.
           File.getPath() method.
           File.getPath() method.
           File.getPath() method.
           File.getPath() method.
           File.length() method (directories treated as zero length).
           File.length() method (directories treated as zero length).
           FileUtils.sizeOfDirectory(File) method
                (sums the size of a directory's contents).
           FileUtils.sizeOfDirectory(File) method
                (sums the size of a directory's contents).