org.apache.commons.io.comparator
Class SizeFileComparator
java.lang.Object
org.apache.commons.io.comparator.SizeFileComparator
- Comparator, Serializable
public class SizeFileComparator
extends java.lang.Object
implements Comparator, Serializable
Compare the
length/size of two files for order (see
File.length()
and
FileUtils.sizeOfDirectory(File)
).
This comparator can be used to sort lists or arrays of files
by their length/size.
Example of sorting a list of files using the
SIZE_COMPARATOR
singleton instance:
List<File> list = ...
Collections.sort(list, LengthFileComparator.LENGTH_COMPARATOR);
Example of doing a
reverse sort of an array of files using the
SIZE_REVERSE
singleton instance:
File[] array = ...
Arrays.sort(array, LengthFileComparator.LENGTH_REVERSE);
N.B. Directories are treated as
zero size unless
sumDirectoryContents
is
true
.
$Revision: 609243 $ $Date: 2008-01-06 00:30:42 +0000 (Sun, 06 Jan 2008) $
SizeFileComparator() - Construct a file size comparator instance (directories treated as zero size).
|
SizeFileComparator(boolean sumDirectoryContents) - Construct a file size comparator instance specifying whether the size of
the directory contents should be aggregated.
|
int | compare(Object obj1, Object obj2) - Compare the length of two files.
|
SIZE_COMPARATOR
public static final Comparator SIZE_COMPARATOR
Size comparator instance - directories are treated as zero size
SIZE_REVERSE
public static final Comparator SIZE_REVERSE
Reverse size comparator instance - directories are treated as zero size
SIZE_SUMDIR_COMPARATOR
public static final Comparator SIZE_SUMDIR_COMPARATOR
SIZE_SUMDIR_REVERSE
public static final Comparator SIZE_SUMDIR_REVERSE
sumDirectoryContents
private final boolean sumDirectoryContents
Whether the sum of the directory's contents should be calculated.
SizeFileComparator
public SizeFileComparator()
Construct a file size comparator instance (directories treated as zero size).
SizeFileComparator
public SizeFileComparator(boolean sumDirectoryContents)
Construct a file size comparator instance specifying whether the size of
the directory contents should be aggregated.
If the
sumDirectoryContents
is
true
The size of
directories is calculated using
FileUtils.sizeOfDirectory(File)
.
sumDirectoryContents
- true
if the sum of the directoryies contents
should be calculated, otherwise false
if directories should be treated
as size zero (see FileUtils.sizeOfDirectory(File)
).
compare
public int compare(Object obj1,
Object obj2)
Compare the length of two files.
obj1
- The first file to compareobj2
- The second file to compare
- a negative value if the first file's length
is less than the second, zero if the lengths are the
same and a positive value if the first files length
is greater than the second file.
Copyright (c) 2002-2008 Apache Software Foundation