首页 > 解决方案 > 根据 lastModification 时间快速排序文件

问题描述

我想根据上次修改时间对 java 中的文件进行排序。但它应该是闪电般的快。

File[] fileList = null;

try {
    File rootFolder = new File(dir);

    if (rootFolder.isDirectory()) {
        fileList = rootFolder.listFiles();
    }



Arrays.sort(fileList, new Comparator<File>() {
    public int compare(File f1, File f2) {
        return Long.compare(f1.lastModified(), f2.lastModified());
    }
});
} catch(Exception e) {
    System.out.println("Not a valid directory " + dir);
}

标签: javafilesortingtimestamp

解决方案


您可以从排序文件程序中尝试此代码

import java.io.File;
import java.util.Arrays;
import java.util.Comparator;

public class ListFilesByDate {

   public static void main(String[] args) {
      File dir = new File("/tmp/code");
      File[] files = dir.listFiles();
      Arrays.sort(files, new Comparator<File>(){
        public int compare(File f1, File f2) {
          return Long.valueOf(f2.lastModified()).compareTo(f1.lastModified());
        } 
      });

      for(File file: files) {
        System.out.println(file.getName());
      }
   }
}

推荐阅读