Modifying the date of the file is possible through Java using the File class of Java i.e File.setLastModified() method
Java File Class
The File class is Java’s representation of a file or directory pathname. The File class contains several methods for working with the pathname, deleting and renaming files, creating new directories, listing the contents of a directory, and determining several common attributes of files and directories.
setLastModified Method
The setLastModified() function is a method that comes predefined in the Java File class. The function sets the last modified time of a file or directory. The function sets the last modified value of the file in milliseconds (long type).
Parameters – A string consisting of the new last-modified time in milliseconds.
Return value – It returns a boolean. (True if the operation succeeds, else false).
If the file doesn’t found in the system default date is printed as of 30/01/1970 as the default file is generated by the system.
Now to change the last modified date of a file, follow the given steps.
- First, use the SimpleDateFormat(“mm/dd/yyyy”) constructor to make a new SimpleDateFormat class instance.
- Then, construct a String object with the “mm/dd/yyyy” format.
- Use the parse(String) method of the SimpleDateFormat class to create a new Date object with the date value of the String we created.
- Finally, use File.setLastModified(Date.getTime()) method to set the new “Last Modified” date of our file.
// Java program to change last // modification time of a File import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GFG {
public static void main(String[] args)
{
try {
// Create an object of the File class
// Replace the file path with path of the file
// who's "last modified" date you want to change
File file = new File( "/home/mayur/file.txt" );
// Create an object of the SimpleDateFormat
// class
SimpleDateFormat sdf
= new SimpleDateFormat( "mm/dd/yyyy" );
// Print the current "last modified" date of the
// file
System.out.println(
"Original Last Modified Date : "
+ sdf.format(( long )file.lastModified()));
// Create a string containing a new date that
// has to be set as "last modified" date
String newLastModified = "10/10/2020" ;
// Convert this new date into milliseconds
// format (in long type)
Date newDate = sdf.parse(newLastModified);
// Set the new date as the "last modified"
// date of the our file
file.setLastModified(newDate.getTime());
// Print the updated "last modified" date
System.out.println(
"Latest Last Modified Date : "
+ sdf.format(file.lastModified()));
}
catch (ParseException e) {
// In case of any errors
e.printStackTrace();
}
}
} |
Output: