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).