Listado de ficheros ordenado por fecha
Hola a todos
Necesito obtener el listado de ficheros de un directorio dado. Hasta ahí, ningún problema, porque lo hago con:
File dir=new File(regFilesPath);
String[] files=dir.l .list();
Pero necesito que este listado esté ordenado por fecha, ascendente o descendente, me da igual. ¿Sabe alguien de algún método que haga esto?
Muchas gracias por adelantado
Necesito obtener el listado de ficheros de un directorio dado. Hasta ahí, ningún problema, porque lo hago con:
File dir=new File(regFilesPath);
String[] files=dir.l .list();
Pero necesito que este listado esté ordenado por fecha, ascendente o descendente, me da igual. ¿Sabe alguien de algún método que haga esto?
Muchas gracias por adelantado
Deberás implementar la interfaz Comparator. Sería así:
public ComparaArchivosFecha implements Comparator<File>
{
public int compare(File f1,File f2)
{
int valor;
if(f1==f2)
valor=0;
else if(f1==null)
valor=1;
else if(f2==null)
valor=-1;
else
valor=f1. lastModified()-f2.lastModified();
return valor;
}
}
Si trabajas con un array, llama al método de java.util.Arrays sort(array,new ComparadorArchivosFecha()); y si trabajas con listas, llama al mismo método de java.util.Collections.
La clase está preparada para valores nulos, que se pueda encontrar en un array, de manera que compacta los valores no nulos a la izquierda.
public ComparaArchivosFecha implements Comparator<File>
{
public int compare(File f1,File f2)
{
int valor;
if(f1==f2)
valor=0;
else if(f1==null)
valor=1;
else if(f2==null)
valor=-1;
else
valor=f1. lastModified()-f2.lastModified();
return valor;
}
}
Si trabajas con un array, llama al método de java.util.Arrays sort(array,new ComparadorArchivosFecha()); y si trabajas con listas, llama al mismo método de java.util.Collections.
La clase está preparada para valores nulos, que se pueda encontrar en un array, de manera que compacta los valores no nulos a la izquierda.