java の File を使って対象ディレクトリ内の一番最近作成されたディレクトリを取得する

以下は、JavaのFileクラスを使用して対象ディレクトリ内の一番最近作成されたディレクトリを取得する方法の例です。

import java.io.File;

public class Main {
    public static void main(String[] args) {
        File directory = new File("対象ディレクトリのパス");
        
        File[] subDirectories = directory.listFiles(File::isDirectory);
        File mostRecentDirectory = null;
        long mostRecentTimestamp = Long.MIN_VALUE;
        
        for (File subDirectory : subDirectories) {
            long timestamp = subDirectory.lastModified();
            if (timestamp > mostRecentTimestamp) {
                mostRecentTimestamp = timestamp;
                mostRecentDirectory = subDirectory;
            }
        }
        
        if (mostRecentDirectory != null) {
            System.out.println("最新のディレクトリ: " + mostRecentDirectory.getName());
        } else {
            System.out.println("対象ディレクトリにサブディレクトリが存在しません。");
        }
    }
}

この例では、指定したパスのディレクトリの中から最新のディレクトリを見つけ、その名前を表示しています。最初にlistFilesメソッドを使用して、ディレクトリ内の全てのファイルとディレクトリを取得し、そのうちのディレクトリのみを抽出します。その後、lastModifiedメソッドを使用して各ディレクトリの最終更新日時を取得し、最新のものを特定します。

この例では、対象ディレクトリ内にサブディレクトリが存在しない場合も考慮されています。

タイトルとURLをコピーしました