Java - File setLastModified(long time) method



Description

The Java File setLastModified(long time) method is used to change the last modified timestamp of a file. The parameter time is specified in milliseconds since January 1, 1970 (Unix Epoch time). The method returns true if the modification is successful and false otherwise.

Declaration

Following is the declaration for java.io.File.setLastModified(long time) method −

 public boolean setLastModified(long time) 

Parameters

  • time− The new last-modified time in milliseconds since the epoch.

Return Value

This method returns true if the operation succeeded, else false.

Exception

  • SecurityException − If a security manager exists and its method denies write access to the pathnames.

Example - Usage of File setLastModified(long time) method

The following example shows the usage of Java File setLastModified(long time) method. We've created a File reference. Then we're creating a File Object using a file path which is present in the given location. Now, we've created a date object using year, month and day value and using setLastModified(), we're setting the last modified date and then printed it.

FileDemo.java

 package com.tutorialspoint; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class FileDemo { public static void main(String[] args) { File f = null; boolean bool = false; int year, month, day; long millisec; Date dt; try { // create new File object f = new File("F:/test.txt"); // date components year = 2013; month = 04; day = 15; // date in string String s = year+"/"+month+"/"+day; // date format SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd"); // parse string to date object dt = sdf.parse(s); // calculate milliseconds millisec = dt.getTime(); // returns true if file exists bool = f.exists(); // if file exists if(bool) { // set last modified time bool = f.setLastModified(millisec); // print System.out.println("lastModified() succeeded?: "+bool); // last modified time millisec = f.lastModified(); // calculate date object dt = new Date(millisec); // prints System.out.print("File was last modified on: "+dt); } } catch(Exception e) { // if any error occurs e.printStackTrace(); } } } 

Output

Let us compile and run the above program, this will produce the following result−

 lastModified() succeeded?: true File was last modified on: Tue Jan 15 00:04:00 IST 2013 

Example - Usage of File setLastModified(long time) method

The following example shows the usage of Java File setLastModified(long time) method. We've created a File reference. Then we're creating a File Object using a file path which is present in the current location. Now, we've created a date object using year, month and day value and using setLastModified(), we're setting the last modified date and then printed it.

FileDemo.java

 package com.tutorialspoint; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class FileDemo { public static void main(String[] args) { File f = null; boolean bool = false; int year, month, day; long millisec; Date dt; try { // create new File object f = new File("test.txt"); // date components year = 2013; month = 04; day = 15; // date in string String s = year+"/"+month+"/"+day; // date format SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd"); // parse string to date object dt = sdf.parse(s); // calculate milliseconds millisec = dt.getTime(); // returns true if file exists bool = f.exists(); // if file exists if(bool) { // set last modified time bool = f.setLastModified(millisec); // print System.out.println("lastModified() succeeded?: "+bool); // last modified time millisec = f.lastModified(); // calculate date object dt = new Date(millisec); // prints System.out.print("File was last modified on: "+dt); } } catch(Exception e) { // if any error occurs e.printStackTrace(); } } } 

Output

Let us compile and run the above program, this will produce the following result−

 lastModified() succeeded?: true File was last modified on: Tue Jan 15 00:04:00 IST 2013 

Example - Changing the Last Modified Time

The following example shows the usage of Java File setLastModified(long time) method.

FileDemo.java

 package com.tutorialspoint; import java.io.File; import java.util.Date; public class FileDemo { public static void main(String[] args) { // Create a File object representing an existing file File file = new File("example.txt"); // Check if the file exists if (file.exists()) { // Print the original last modified time System.out.println("Original Last Modified: " + new Date(file.lastModified())); // Set a new last modified time (e.g., February 1, 2024) long newTime = 1706745600000L; // Unix timestamp in milliseconds // Attempt to update the last modified time if (file.setLastModified(newTime)) { System.out.println("Last modified time updated successfully."); System.out.println("New Last Modified: " + new Date(file.lastModified())); } else { System.out.println("Failed to update last modified time."); } } else { System.out.println("File does not exist."); } } } 

Possible Output

Let us compile and run the above program, this will produce the following result−

 Original Last Modified: Mon Jan 20 16:58:58 IST 2025 Last modified time updated successfully. New Last Modified: Thu Feb 01 05:30:00 IST 2024 

Explanation

  • The program creates a File object for "example.txt".

  • It checks if the file exists before proceeding.

  • It prints the current last modified time using file.lastModified().

  • The program sets a new last modified time using setLastModified(long t), where t is a Unix timestamp in milliseconds (1706745600000L corresponds to February 1, 2024).

  • It verifies the change by printing the updated last modified time.

java_io_file_methods.htm
Advertisements