首頁 >Java >java教程 >如何有效率地列出按修改日期排序的 Java 檔案?

如何有效率地列出按修改日期排序的 Java 檔案?

Barbara Streisand
Barbara Streisand原創
2024-12-09 03:53:09924瀏覽

How to Efficiently List Java Files Sorted by Modification Date?

如何在Java 中按修改日期排序列出檔案

檔案管理是程式設計中的常見任務,Java 提供了幾種操作方法文件。使用目錄時,通常需要按特定順序列出文件,例如按修改日期。

目前解

一種方法這是使用 File.listFiles() 方法取得表示目錄中檔案的 File 物件陣列。然後可以使用 Arrays.sort() 方法對這些檔案進行排序,傳遞一個比較器,根據檔案的上次修改日期對檔案進行比較。

以下是此方法的範例:

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

替代方案

這種方法是有效的,但可能不是最有效的方法。對大量文件進行排序可能非常耗時。更有效的選擇是使用 TreeSet 來按排序順序維護檔案。

這裡是使用 TreeSet 的範例:

Set<File> files = new TreeSet<File>(new Comparator<File>() {
    public int compare(File f1, File f2) {
        return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
    }
});
files.addAll(directory.listFiles());

TreeSet 將自動按排序順序維護文件基於他們的最後修改日期。這種方法對於大型文件集更有效。

以上是如何有效率地列出按修改日期排序的 Java 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn