In Java 7 or higher, you can change the file last modified date by using Files.setLastModifiedTime() method as shown below:

try {
    Path path = Paths.get("input.txt");

    // current last modified date
    System.out.println("Last Modified Date (before): " + Files.getLastModifiedTime(path));

    // change the last modified date to now
    Files.setLastModifiedTime(path, FileTime.fromMillis(new Date().getTime()));

    // updated last mdoified date
    System.out.println("Last Modified Date (after): " + Files.getLastModifiedTime(path));

} catch (IOException ex){
    ex.printStackTrace();
}

Here is the output of the above code:

Last Modified Date (before): 2022-10-01T18:20:11Z
Last Modified Date (after): 2022-10-12T08:10:12Z

In older Java versions (Java 6 or below), you can make use of File.setLastModified() to change the file's last modified date. This method accepts the new modified date in milliseconds. Here is an example:

File file = new File("input.txt");

SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");

// current last modified date
System.out.println("Last Modified Date (before): " + sdf.format(file.lastModified()));

// change last modified date to now
file.setLastModified(new Date().getTime());

// updated last mdoified date
System.out.println("Last Modified Date (after): " + sdf.format(file.lastModified()));

The above will print something like the below on the console:

Last Modified Date (before): 01-10-2022 13:16:52
Last Modified Date (after): 12-10-2022 13:18:07

Further Reading

You may be interested in other Java I/O articles:

✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.