代码之家  ›  专栏  ›  技术社区  ›  Tomalak

如何在Java中以最新的LAST修改日期获取文件?[复制品]

  •  6
  • Tomalak  · 技术社区  · 14 年前

    可能重复:
    How do I find the last modified file in a directory in Java?

    我有一个文件目录,需要检查更改。当其中一个文件 modifiedDate 比我上次检查时记得的更新(这意味着缓存依赖)。

    在Java目录中找到最新修改文件的最快方法是什么?


    也许我太乐观了,但是我在明确地寻找一些不涉及迭代所有文件的东西。

    此外,检查目录修改日期是不够的,因为只有当 文件列表 内部更改,而不是只修改其中一个文件本身。

    4 回复  |  直到 12 年前
        1
  •  2
  •   Dean J    14 年前

    即使您不打算迭代所有文件,任何用于查找这些文件的第三方API都将迭代所有文件。

    JDK7的目标是拥有java.nio.watchservice,如果必须的话,它显然会遍历所有内容,但会使用文件系统支持来执行您所要求的操作。在反面, that's still in the future .

        2
  •  1
  •   darpet    14 年前

    必须迭代所有文件名并提取修改日期。

        3
  •  1
  •   Community rcollyer    7 年前

    请参阅此解决方案: How to get only 10 last modified files from directory using Java?

    它是纯Java代码,但是用简单的黑客来提高性能。

        4
  •  0
  •   zoomer.hammerball    14 年前

    我认为那是不可能的。可以使用一个运行时类从Java“ls -LRT-尾- 1”执行UNIX命令行,并解析该字符串以获得最新修改文件的名称。