获取最近下载文件的路径

Fetch path of recently downloaded file

我正在处理一个自动化任务,其中下载了一个文件,我必须提取该下载文件的路径以及名称(我知道该文件将在 下载 文件夹,但我只想要最新下载文件的路径)。最后,我想获取扩展名。但是只有当路径可用时我才能获取扩展,请帮助我提取路径。

这应该可以完成工作:

package foo;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.Date;
import java.util.concurrent.TimeUnit;

public class Bar {

    public static File getNewestFileFromDir(File dir) throws IOException {      
        File newestFile = null;
        Date newestCreationDate = null;
        File[] files = dir.listFiles(File::isFile);
        for (File file: files) {
            Path filePath = file.toPath();
            BasicFileAttributes attributes = Files.readAttributes(filePath, BasicFileAttributes.class);
            long milliseconds = attributes.creationTime().to(TimeUnit.MILLISECONDS);
            if ((milliseconds > Long.MIN_VALUE) && (milliseconds < Long.MAX_VALUE)) {
                Date creationDate = new Date(attributes.creationTime().to(TimeUnit.MILLISECONDS));
                if (newestCreationDate != null) {
                    if (creationDate.after(newestCreationDate)) {
                        newestCreationDate = creationDate;
                        newestFile = file;
                    }
                }
            }
        }
        return newestFile;
    }
    
    public static String getFileExtension(File file) {
        String extension = "";
        String fileName = file.getName();
        int i = fileName.lastIndexOf('.');
        if (i > 0) {
            extension = fileName.substring(i + 1).toLowerCase();
        }
        return extension;
    }

}