Heim >Java >javaLernprogramm >Wie kann ich in Java effizient eine nach Datum sortierte Liste von Dateien erhalten?

Wie kann ich in Java effizient eine nach Datum sortierte Liste von Dateien erhalten?

Linda Hamilton
Linda HamiltonOriginal
2024-11-28 14:53:11282Durchsuche

How Can I Efficiently Get a Date-Sorted List of Files in Java?

Erhalten einer nach Datum sortierten Dateiliste in Java

Frage:
Entwickler stehen häufig vor der Notwendigkeit, Dateien in einem Verzeichnis aufzulisten und Sortieren Sie sie nach ihrem letzten Änderungsdatum. Ein Ansatz besteht darin, File.listFiles() zu verwenden und die Liste mithilfe von File.lastModified() neu zu sortieren. Gibt es jedoch eine effizientere Methode?

Antwort:

Der optimalste Ansatz besteht darin, einen benutzerdefinierten Komparator in Verbindung mit Arrays.sort() zu nutzen.

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());
    }
});

Dieser Ansatz stellt sicher, dass die Dateien in chronologischer Reihenfolge sortiert werden, wobei die ältesten Dateien zuerst erscheinen. Der Ausdruck „Long.valueOf(f1.lastModified())“ wandelt den Zeitstempel in einen Long-Wert um, der dann mit „compareTo()“ verglichen wird. Durch die Verwendung der Comparator-Schnittstelle werden die Dateien elegant sortiert, ohne dass zusätzliche Hilfsklassen erforderlich sind.

Es ist wichtig zu beachten, dass File.listFiles() die Reihenfolge der zurückgegebenen Dateien nicht garantiert. Daher ist eine explizite Sortierung des Arrays mithilfe des bereitgestellten Komparators erforderlich.

Das obige ist der detaillierte Inhalt vonWie kann ich in Java effizient eine nach Datum sortierte Liste von Dateien erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn