La solution habituelle ressemble plus à cela, hormis le monstrueux cast en int sans précautions. En vrai, on ferait le test > 0, < 0 == 0 et ce serait marre, mais j'ai la flemme :
Code :
- public String recherche(File rep) {
- File[] liste = rep.listFiles();
- Collections.sort(liste, new Comparator() {
- public int compare(Object o1, Object o2) {
- File f1 = (File) o1;
- File f2 = (File) o2;
- return (int) f1.lastModified() - f2.lastModified(); // bon ça c'est pourri, mais ça donne l'idée
- }
- });
- if (liste.length > 1) {
- return liste[liste.length - 1].getPathname();
- }
- return null;
- }
|