public class SizeFileComparator
extends java.lang.Object
implements java.util.Comparator, java.io.Serializable
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.
| Modifier and Type | Field and Description |
|---|---|
static java.util.Comparator |
SIZE_COMPARATOR
Size comparator instance - directories are treated as zero size
|
static java.util.Comparator |
SIZE_REVERSE
Reverse size comparator instance - directories are treated as zero size
|
static java.util.Comparator |
SIZE_SUMDIR_COMPARATOR
Size comparator instance which sums the size of a directory's contents
using
FileUtils.sizeOfDirectory(File) |
static java.util.Comparator |
SIZE_SUMDIR_REVERSE
Reverse size comparator instance which sums the size of a directory's contents
using
FileUtils.sizeOfDirectory(File) |
private boolean |
sumDirectoryContents
Whether the sum of the directory's contents should be calculated.
|
| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
int |
compare(java.lang.Object obj1,
java.lang.Object obj2)
Compare the length of two files.
|
public static final java.util.Comparator SIZE_COMPARATOR
public static final java.util.Comparator SIZE_REVERSE
public static final java.util.Comparator SIZE_SUMDIR_COMPARATOR
FileUtils.sizeOfDirectory(File)public static final java.util.Comparator SIZE_SUMDIR_REVERSE
FileUtils.sizeOfDirectory(File)private final boolean sumDirectoryContents
public SizeFileComparator()
public SizeFileComparator(boolean sumDirectoryContents)
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)).public int compare(java.lang.Object obj1,
java.lang.Object obj2)
compare in interface java.util.Comparatorobj1 - The first file to compareobj2 - The second file to compareCopyright (c) 2002-2014 Apache Software Foundation