Apache Commons IO - SizeFileComparator

SizeFileComparator compare les tailles de deux fichiers / répertoires. Il peut être utilisé pour trier les listes ou tableaux de fichiers en fonction de leur taille ou de leurs répertoires, en fonction de leur nombre d'enfants.

Déclaration de classe

Voici la déclaration pour

org.apache.commons.io.comparator.SizeFileComparator Classe -

public class SizeFileComparator
   extends Object implements Serializable

Exemple de classe SizeFileComparator

Voici le fichier d'entrée que nous devons analyser -

Welcome to TutorialsPoint. 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());
      }
   }
}

Production

Il imprimera le résultat suivant.

Sorted By Size:
input.txt, size:124
.project, size:382
.classpath, size:441