public 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
.
Serialization is deprecated and will be removed in 3.0.
Modifier and Type | Field and 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 and Description |
---|
SizeFileComparator()
Constructs a file size comparator instance (directories treated as zero size).
|
SizeFileComparator(boolean sumDirectoryContents)
Constructs 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.io.File file1,
java.io.File file2)
Compares the length of two files.
|
java.io.File[] |
sort(java.io.File... files)
Sorts an array of files.
|
java.util.List<java.io.File> |
sort(java.util.List<java.io.File> files)
Sorts 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)
compare
in interface java.util.Comparator<java.io.File>
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 null.public java.util.List<java.io.File> sort(java.util.List<java.io.File> files)
This method uses List.sort(Comparator)
and returns the original list.
files
- The files to sort, may be null.Copyright © 2010 - 2023 Adobe. All Rights Reserved