Jaki jest najlepszy sposób na wyświetlanie listy plików w Javie, posortowanych według daty modyfikacji?

Chcę uzyskać listę plików w katalogu, ale chcę posortować ją tak, aby najstarsze pliki były pierwsze. Moim rozwiązaniem było wywołanie File.listFiles i po prostu skorzystanie z listy opartej na File.lastModified, ale zastanawiałem się, czy istnieje lepszy sposób.

Moje obecne rozwiązanie:

File[] files = directory.listFiles();

Arrays.sort(files, new Comparator<File>(){
    public int compare(File f1, File f2)
    {
        return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
    } });

1 odpowiedź

Twoje rozwiązanie jest jedynym rozsądnym sposobem. Sposobem na uzyskanie listy plików jest użycie File.listFiles (), ale dokumentacja stwierdza, że nie daje to żadnych gwarancji co do kolejności zwracanych plików. Dlatego musisz napisać Komparator, który używa File.lastModified () i przekazać go wraz z tablicą plików doArrays.sort ().

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.