Tengo un método que lee el contenido de los archivos ubicados en un directorio. Pero por razones funcionales, es necesario comenzar con el archivo más antiguo (indicado por la propiedad lastmodified) y finalizar con el archivo más nuevo.¿Cómo ordenar los archivos de un directorio por fecha en java?
Este es el código de cómo abrir y leer los archivos:
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.matches("access_log.*");
}
};
File folder = new File("/home/myfiles");
File[] listOfFiles = folder.listFiles(filter);
for (int i = 0; i < listOfFiles.length; i++) {
String sFileName = listOfFiles[i].getName();
File accessLogFile = new File(aLog.getPath(), sFileName);
long time=accessLogFile.lastModified();
// do something with the file
}
Alguien ha una solución de cómo puedo ordenar rápidamente mi lista de archivos por fecha?
¿La opción http://stackoverflow.com/questions/203030/best-way-way-files-in-java-sorted-by-date-modified contiene la respuesta a su pregunta? – sverre
¿Has probado FileUtils.dirListByAscendingDate? http://www.rgagnon.com/javadetails/java-0606.html – excanoe
Parece que le interesan los archivos de registro. A menudo se nombran de tal manera que la ordenación léxica por nombre de archivo también se ordena por tiempo. –