【问题标题】:Sorting files quickly based on lastModification time [duplicate]根据lastModification时间快速排序文件[重复]
【发布时间】:2019-02-13 09:10:07
【问题描述】:

我想根据上次修改时间对 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);
}

【问题讨论】:

  • 您的代码没有进行任何排序。请edit 它并添加您尝试过的内容。它有效吗?快吗?你如何衡量?
  • 我会使用NIOHere 是一些很好的例子,只是为了开始......
  • @Lutz Horn .... 完成

标签: java file sorting timestamp


【解决方案1】:

你可以试试这个 来自Sorting files Program的代码

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());
      }
   }
}

【讨论】:

猜你喜欢
  • 2012-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-14
  • 2020-08-08
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
相关资源
最近更新 更多