java.io.Serializablepublic class SizeFileComparator extends java.lang.Object implements 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 = ...
((AbstractFileComparator) SizeFileComparator.SIZE_COMPARATOR).sort(list);
Example of doing a reverse sort of an array of files using the
SIZE_REVERSE singleton instance:
File[] array = ...
((AbstractFileComparator) SizeFileComparator.SIZE_REVERSE).sort(array);
N.B. Directories are treated as zero size unless
sumDirectoryContents is true.
| Modifier and Type | Field | Description |
|---|---|---|
static java.util.Comparator<java.io.File> |
SIZE_COMPARATOR |
Size comparator instance - directories are treated as zero size
|
static java.util.Comparator<java.io.File> |
SIZE_REVERSE |
Reverse size comparator instance - directories are treated as zero size
|
static java.util.Comparator<java.io.File> |
SIZE_SUMDIR_COMPARATOR |
Size comparator instance which sums the size of a directory's contents
using
FileUtils.sizeOfDirectory(File) |
static java.util.Comparator<java.io.File> |
SIZE_SUMDIR_REVERSE |
Reverse size comparator instance which sums the size of a directory's contents
using
FileUtils.sizeOfDirectory(File) |
| Constructor | 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 | Description |
|---|---|---|
int |
compare(java.io.File file1,
java.io.File file2) |
Compare the length of two files.
|
java.io.File[] |
sort(java.io.File... files) |
Sort an array of files.
|
java.util.List<java.io.File> |
sort(java.util.List<java.io.File> files) |
Sort a List of files.
|
java.lang.String |
toString() |
String representation of this file comparator.
|
public static final java.util.Comparator<java.io.File> SIZE_COMPARATOR
public static final java.util.Comparator<java.io.File> SIZE_REVERSE
public static final java.util.Comparator<java.io.File> SIZE_SUMDIR_COMPARATOR
FileUtils.sizeOfDirectory(File)public static final java.util.Comparator<java.io.File> SIZE_SUMDIR_REVERSE
FileUtils.sizeOfDirectory(File)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 directories' contents
should be calculated, otherwise false if directories should be treated
as size zero (see FileUtils.sizeOfDirectory(File)).public int compare(java.io.File file1, java.io.File file2)
file1 - The first file to comparefile2 - The second file to comparepublic java.lang.String toString()
public java.io.File[] sort(java.io.File... files)
This method uses Arrays.sort(Object[], Comparator)
and returns the original array.
files - The files to sort, may be nullpublic java.util.List<java.io.File> sort(java.util.List<java.io.File> files)
This method uses Collections.sort(List, Comparator)
and returns the original list.
files - The files to sort, may be null