
Compare the sizes of two files/directory. SizeFileComparator can be used to sort lists or arrays of files using their size or directories based on their no. of children.
Following is the declaration for org.apache.commons.io.comparator.SizeFileComparator Class -
public class SizeFileComparator extends Object implements Serializable
Here is the input file we need to parse −
Welcome to Howcodex. Simply Easy Learning.
IOTester.java
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import org.apache.commons.io.comparator.SizeFileComparator;
import org.apache.commons.io.filefilter.FileFileFilter;
public class IOTester {
public static void main(String[] args) {
try {
usingSizeFileComparator();
} catch(IOException e) {
System.out.println(e.getMessage());
}
}
public static void usingSizeFileComparator() throws IOException {
//get the current directory
File currentDirectory = new File(".");
SizeFileComparator comparator = new SizeFileComparator();
File[] sortedFiles =
comparator.sort(currentDirectory.listFiles((FileFilter)FileFileFilter.FILE));
System.out.println("Sorted By Size: ");
for(File file:sortedFiles) {
System.out.println(file.getName() + ", size(kb) :" + file.length());
}
}
}
It will print the following result.
Sorted By Size: input.txt, size:124 .project, size:382 .classpath, size:441