Obtener fecha de modificación de un fichero con Java

19/Ene/2012 Java , , , , 2 Comentarios

Trabajando con ficheros en Java nos puede ser de utilidad obtener fecha de modificación de un fichero. Los pasos para conseguirlo son sencillos.

En primer lugar deberemos de acceder al fichero mediante la clase File.

  1. File fichero = new File("test.txt");

Ahora que ya tenemos instanciada la clase File utilizaremos el método .lastModified(), el cual nos devolverá la fecha de la modificación pero en formato de milisegundos.

  1. long ms = fichero.lastModified();

Así, las siguientes líneas tendrán que servirnos para convertir los milisegundos en una fecha. Esto, en Java, lo podemos conseguir mediante una clase Calendar, la cual instanciaremos mediante un Date y el resultado devuelto por .lastModified().

  1. Date d = new Date(ms);
  2. c.setTime(d);

Por último nos apoyaremos en las constantes Calendar.DATE, Calendar.MONTH, Calendar.MINUTE,... para sacar los valores que nos ayuden a obtener la fecha de modificación de un fichero con Java.

  1. dia = Integer.toString(c.get(Calendar.DATE));
  2. mes = Integer.toString(c.get(Calendar.MONTH));
  3. annio = Integer.toString(c.get(Calendar.YEAR));
  4. hora = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
  5. minuto = Integer.toString(c.get(Calendar.MINUTE));
  6. segundo = Integer.toString(c.get(Calendar.SECOND));

Vídeos sobre Java IO


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

2 comentarios en “Obtener fecha de modificación de un fichero con Java”

Víctor Cuervo

Adrian

Buenas el codigo me sirvio , solo un pequeño detalle cuando uso (Calendar.MONTH) , me devuelve un mes anterior , es es tanto si quiero saber la fecha actual o como en este ejemplo para saber la fecha de n archivo , de todas maneras lo soluciones sumandole un 1 , pero es raro que pase . Te manndo un script que realize a partir de tu ejemplo . public static String fechaModificado(File fichero){
long ms = fichero.lastModified();
Date d = new Date(ms);
Calendar c = new GregorianCalendar();
c.setTime(d);
String dia = Integer.toString(c.get(Calendar.DATE));
String mes = Integer.toString((c.get(Calendar.MONTH) + 1)) ;
String annio = Integer.toString(c.get(Calendar.YEAR));
String hora = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
String minuto = Integer.toString(c.get(Calendar.MINUTE));
String segundo = Integer.toString(c.get(Calendar.SECOND));
return annio +”-“+ mes +”-“+ dia +” “+ hora +”:”+ minuto +”:”+ segundo ;
}

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*