public class SizeFileComparator extends Object implements 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 and Description |
---|---|
static Comparator<File> |
SIZE_COMPARATOR
Size comparator instance - directories are treated as zero size
|
static Comparator<File> |
SIZE_REVERSE
Reverse size comparator instance - directories are treated as zero size
|
static Comparator<File> |
SIZE_SUMDIR_COMPARATOR
Size comparator instance which sums the size of a directory's contents
using
FileUtils.sizeOfDirectory(File) |
static Comparator<File> |
SIZE_SUMDIR_REVERSE
Reverse size comparator instance which sums the size of a directory's contents
using
FileUtils.sizeOfDirectory(File) |
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(File file1,
File file2)
Compare the length of two files.
|
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.
|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public static final Comparator<File> SIZE_COMPARATOR
public static final Comparator<File> SIZE_REVERSE
public static final Comparator<File> SIZE_SUMDIR_COMPARATOR
FileUtils.sizeOfDirectory(File)
public static final Comparator<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(File file1, File file2)
compare
in interface Comparator<File>
file1
- The first file to comparefile2
- The second file to comparepublic String toString()
public File[] sort(File... files)
This method uses Arrays.sort(Object[], Comparator)
and returns the original array.
files
- The files to sort, may be nullpublic List<File> sort(List<File> files)
This method uses Collections.sort(List, Comparator)
and returns the original list.
files
- The files to sort, may be nullJas4pp 1.5 © Java Analysis Studio for Particle Physics