小编典典

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

all

我想获取目录中的文件列表,但我想对其进行排序,以便最旧的文件排在第一位。我的解决方案是调用 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());
    } });

阅读 26

收藏
2022-05-13

共1个答案

小编典典

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

2022-05-13