【问题标题】:Getting the last modified date of a file in Java在Java中获取文件的最后修改日期
【发布时间】:2011-05-20 18:38:33
【问题描述】:

我正在制作一个基本的文件浏览器,并希望获取目录中每个文件的最后修改日期。我该怎么做?我已经有了每个文件的名称和类型(都存储在一个数组中),但也需要最后修改日期。

【问题讨论】:

    标签: java file browser date


    【解决方案1】:

    如在 java.io.File 的 javadocs 中:

    new File("/path/to/file").lastModified()

    【讨论】:

      【解决方案2】:

      Java 7 起,可以使用java.nio.file.Files.getLastModifiedTime(Path path)

      Path path = Paths.get("C:\\1.txt");
      
      FileTime fileTime;
      try {
          fileTime = Files.getLastModifiedTime(path);
          printFileTime(fileTime);
      } catch (IOException e) {
          System.err.println("Cannot get the last modified time - " + e);
      }
      

      printFileName 可以如下所示:

      private static void printFileTime(FileTime fileTime) {
          DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy - hh:mm:ss");
          System.out.println(dateFormat.format(fileTime.toMillis()));
      }
      

      输出

      10/06/2016 - 11:02:41
      

      【讨论】:

      • 答案正确且解释清楚,但请不要教年轻人使用早已过时且臭名昭著的SimpleDateFormat类。相反,从 Java 8 开始,使用FileTime.toInstant(),将Instant 转换为ZonedDateTime,然后直接打印或使用DateTimeFormatter 格式化。
      猜你喜欢
      • 2019-02-26
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      相关资源
      最近更新 更多