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.
| 限定符和类型 | 字段和说明 |
|---|---|
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) |
| 构造器和说明 |
|---|
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(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.
|
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 directoryies 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 在接口中 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 null