如何在 Java 中更改文件的最后修改时间

问题描述

如何更改文件的最后修改时间?

解决方案

此示例显示如何借助 File 类的 fileToChange.lastModified() 和 fileToChange setLastModified() 方法更改文件的最后修改时间。

import java.io.File;
import java.util.Date;

public class Main {
   public static void main(String[] args) throws Exception {
      File fileToChange = new File ("C:/myjavafile.txt");
      fileToChange.createNewFile();
      Date filetime = new Date (fileToChange.lastModified());
      System.out.println(filetime.toString());
      System.out.println (fileToChange.setLastModified (System.currentTimeMillis()));
      filetime = new Date (fileToChange.lastModified());
      System.out.println(filetime.toString());
   }
}

结果

上述代码示例将产生以下结果。结果可能因系统时间而异。

Sat Oct 18 19:58:20 GMT+05:30 2008
true
Sat Oct 18 19:58:20 GMT+05:30 2008

以下是 Java 中文件最后修改时间的另一个示例

import java.io.File;
import java.text.SimpleDateFormat;

public class GetFileLastModifiedExample { 
   public static void main(String[] args) { 
      File f1 = new File("C:\\Users\\TutorialsPoint7\\Desktop\\abc.png");
      System.out.println("Before Format : " + f1.lastModified());
      SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
      System.out.println("After Format : " + sdf.format(f1.lastModified()));
   }
}

上述代码示例将产生以下结果。结果可能因系统时间而异。

Before Format : 1473659371467
After Format : 09/12/2016 11:19:31
java_files.html