1. ホーム

[解決済み] Javaでファイルを一覧表示し、更新日時でソートする最良の方法は?

2022-04-05 01:16:28

質問

あるディレクトリにあるファイルのリストを取得したいのですが、最も古いファイルが最初になるようにソートしたいのです。 私の解決策は、File.listFilesを呼び出し、File.lastModifiedに基づいてリストを再作成することでしたが、私はより良い方法があるかどうか疑問に思っていました。

編集:私の現在の解決策は、提案されたように、匿名のコンパレータを使用することです。

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

解決方法は?

私は、あなたの解決策が唯一の賢明な方法だと思います。 ファイルのリストを取得する唯一の方法は ファイル.リストファイル() で、ドキュメントによると、これは返されるファイルの順序について何の保証もしないとのことです。 したがって コンパレータ を使用した ファイル.lastModified() を作成し、これをファイルの配列と一緒に Arrays.sort() .