Package org.apache.commons.io.comparator
Class SizeFileComparator
java.lang.Object
org.apache.commons.io.comparator.AbstractFileComparator
org.apache.commons.io.comparator.SizeFileComparator
- All Implemented Interfaces:
Serializable
,Comparator<File>
Compare the length/size of two files for order (see
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
.
Deprecating Serialization
Serialization is deprecated and will be removed in 3.0.
- Since:
- 1.4
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final long
static final Comparator
<File> Size comparator instance - directories are treated as zero sizestatic final Comparator
<File> Reverse size comparator instance - directories are treated as zero sizestatic final Comparator
<File> Size comparator instance which sums the size of a directory's contents usingFileUtils.sizeOfDirectory(File)
static final Comparator
<File> Reverse size comparator instance which sums the size of a directory's contents usingFileUtils.sizeOfDirectory(File)
private final boolean
Whether the sum of the directory's contents should be calculated. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs 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. -
Method Summary
Methods inherited from class org.apache.commons.io.comparator.AbstractFileComparator
sort, sort
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
SIZE_COMPARATOR
Size comparator instance - directories are treated as zero size -
SIZE_REVERSE
Reverse size comparator instance - directories are treated as zero size -
SIZE_SUMDIR_COMPARATOR
Size comparator instance which sums the size of a directory's contents usingFileUtils.sizeOfDirectory(File)
-
SIZE_SUMDIR_REVERSE
Reverse size comparator instance which sums the size of a directory's contents usingFileUtils.sizeOfDirectory(File)
-
sumDirectoryContents
private final boolean sumDirectoryContentsWhether the sum of the directory's contents should be calculated.
-
-
Constructor Details
-
SizeFileComparator
public SizeFileComparator()Constructs a file size comparator instance (directories treated as zero size). -
SizeFileComparator
public SizeFileComparator(boolean sumDirectoryContents) Constructs a file size comparator instance specifying whether the size of the directory contents should be aggregated.If the
sumDirectoryContents
istrue
The size of directories is calculated usingFileUtils.sizeOfDirectory(File)
.- Parameters:
sumDirectoryContents
-true
if the sum of the directories' contents should be calculated, otherwisefalse
if directories should be treated as size zero (seeFileUtils.sizeOfDirectory(File)
).
-
-
Method Details
-
compare
Compares the length of two files.- Specified by:
compare
in interfaceComparator<File>
- Parameters:
file1
- The first file to comparefile2
- The second file to compare- Returns:
- a negative value if the first file's length is less than the second, zero if the lengths are the same and a positive value if the first files length is greater than the second file.
-
toString
String representation of this file comparator.- Overrides:
toString
in classAbstractFileComparator
- Returns:
- String representation of this file comparator
-