一尘不染

列出Java中文件的最佳方法,按“修改日期”排序?

java

我想获取目录中的文件列表,但是我想对它进行排序,以使最早的文件排在第一位。我的解决方案是调用File.listFiles并仅基于File.lastModified重新创建列表,但是我想知道是否有更好的方法。

编辑:根据建议,我当前的解决方案是使用匿名比较器:

File[] files = directory.listFiles();

Arrays.sort(files, new Comparator<File>(){
    public int compare(File f1, File f2)
    {
        return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
    } });

阅读 345

收藏
2020-03-02

共1个答案

一尘不染

我认为您的解决方案是唯一明智的方法。获取文件列表的唯一方法是使用File.listFiles(),文档说明这不能保证返回文件的顺序。因此,您需要编写一个使用File.lastModified()的Comparator,并将其以及文件数组传递给Arrays.sort()。

2020-03-02