org.apache.commons.io.comparator
Class DirectoryFileComparator

java.lang.Object
  extended by org.apache.commons.io.comparator.DirectoryFileComparator
All Implemented Interfaces:
Serializable, Comparator<File>

public class DirectoryFileComparator
extends Object
implements Serializable

Compare two files using the File.isDirectory() method.

This comparator can be used to sort lists or arrays by directories and files.

Example of sorting a list of files/directories using the DIRECTORY_COMPARATOR singleton instance:

       List<File> list = ...
       DirectoryFileComparator.DIRECTORY_COMPARATOR.sort(list);
 

Example of doing a reverse sort of an array of files/directories using the DIRECTORY_REVERSE singleton instance:

       File[] array = ...
       DirectoryFileComparator.DIRECTORY_REVERSE.sort(array);
 

Since:
2.0
Version:
$Id: DirectoryFileComparator.java 1304052 2012-03-22 20:55:29Z ggregory $
See Also:
Serialized Form

Field Summary
static Comparator<File> DIRECTORY_COMPARATOR
          Singleton default comparator instance
static Comparator<File> DIRECTORY_REVERSE
          Singleton reverse default comparator instance
 
Constructor Summary
DirectoryFileComparator()
           
 
Method Summary
 int compare(File file1, File file2)
          Compare the two files using the File.isDirectory() method.
 File[] sort(File... files)
          Sort an array of files.
 List<File> sort(List<File> files)
          Sort a List of files.
 String toString()
          String representation of this file comparator.
 
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
 

Field Detail

DIRECTORY_COMPARATOR

public static final Comparator<File> DIRECTORY_COMPARATOR
Singleton default comparator instance


DIRECTORY_REVERSE

public static final Comparator<File> DIRECTORY_REVERSE
Singleton reverse default comparator instance

Constructor Detail

DirectoryFileComparator

public DirectoryFileComparator()
Method Detail

compare

public int compare(File file1,
                   File file2)
Compare the two files using the File.isDirectory() method.

Specified by:
compare in interface Comparator<File>
Parameters:
file1 - The first file to compare
file2 - The second file to compare
Returns:
the result of calling file1's File.compareTo(File) with file2 as the parameter.

sort

public File[] sort(File... files)
Sort an array of files.

This method uses Arrays.sort(Object[], Comparator) and returns the original array.

Parameters:
files - The files to sort, may be null
Returns:
The sorted array
Since:
2.0

sort

public List<File> sort(List<File> files)
Sort a List of files.

This method uses Collections.sort(List, Comparator) and returns the original list.

Parameters:
files - The files to sort, may be null
Returns:
The sorted list
Since:
2.0

toString

public String toString()
String representation of this file comparator.

Overrides:
toString in class Object
Returns:
String representation of this file comparator


Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.