Ya vimos en un artículo cómo obtener la fecha de modificación de un fichero con Java. En este caso vamos a ver cómo realizar la operación contraria, el cambiar la fecha de modificación de un fichero con Java. Esto puede ser útil, por ejemplo, si estamos haciendo una revisión de ficheros y queremos utilizar la fecha de modificación del fichero como flag para siguientes revisiones.
Lo primero instanciamos un fichero con un objeto File.
File fichero = new File("test.txt");
La fecha de modificación del fichero se la vamos a pasar en milisegundos, así que utilizaremos la función currentTimeMillis() del sistema para obtener la fecha actual en milisegundos.
long ms = System.currentTimeMillis();
Ya solo nos quedará volcar el contenido de la fecha sobre el fichero mediante .setLastModified() el cual recibirá los milisegundos como parámetro. En el caso de que la asignación haya ido correctamente la función devolverá true, en caso contrario devolverá false.
boolean cambio = fichero.setLastModified(ms);
if (cambio)
System.out.println("Se ha cambiado la hora del sistema satisfactoriamente");
else
System.out.println("NO se ha podido cambiar la hora");
Tres pasos sencillos para cambiar la fecha de modificación de un fichero con Java.