当前位置: 首页 > 面试题库 >

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

晏阳飙
2023-03-14
问题内容

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

问题答案:

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



 类似资料:
  • 问题内容: 我试图使功能超出其书面限制,我需要的不仅仅是当前支持的alpha排序。我需要对结果进行排序,以按修改日期排序。 我尝试了一些在这里找到的解决方案,以及其他来自不同网站的解决方案,但是没有一个适合我,因此我认为在这里发布是合理的。 到目前为止,我尝试过的是: 但是,这似乎对我不起作用,它仅返回3个结果,但应该返回16个结果,因为文件夹中有16张图像。 问题答案:

  • 问题内容: 我正在尝试使用node.js检索服务器上文件的最后修改日期。 我试过了 和 两者都以未定义形式返回。 问题答案: 对于节点v 4.0.0及更高版本: 或同步:

  • 问题内容: 我有一个变量(通过set_fact)包含一个json字符串: 在“资源”数组中插入更多元素的最佳方法是什么? 我正在探索将变量转储到文件中,并使用外部shell工具插入所需的块,这似乎并不好。 问题答案: 我不知道 最好的 方法,但是一种选择是编写一个简单的库模块来为您处理更新的机制。您可以使用该模块来查找要修改的数据,然后将修改后的对象返回到ansible。起点可能看起来像: 如果将

  • 问题内容: 我有一个日期对象列表和一个目标日期。我想在列表中找到最接近目标日期的日期,但仅找到目标日期之前的日期。 示例:2008-10-1 2008-10-2 2008-10-4 目标日期为2008-10-3,我想获得2008-10-2 最好的方法是什么? 问题答案: Sietse de Kaper解决方案采用了 反向 排序的列表,绝对不是最自然的解决方案 Java中的自然排序顺序遵循递增的自然

  • 问题内容: 我想通过curl获取远程文件的最后修改日期。有谁知道这是怎么做到的吗? 问题答案: 从PHP的文章: filemtime()是这里的关键。但是我不确定是否可以获取 远程 文件的最后修改日期,因为服务器应该将其发送给您……也许在HTTP标头中?

  • 本文向大家介绍PHP中获取文件创建日期、修改日期、访问时间的方法,包括了PHP中获取文件创建日期、修改日期、访问时间的方法的使用技巧和注意事项,需要的朋友参考一下 php获取文件创建时间、修改时间常用代码 filemtime ( string filename ) 返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date()。 filectime (