看到的问题是,在Java中,我们可以通过filename.lastModified()
获得lastmodified日期。但是在Windows中,正在发生的事情是,只要修改了文件,就只会修改该文件的日期和时间,而不是整个文件夹的日期和时间。所以我想知道什么时候最后一次使用Java在该文件夹中修改了一个文件?
最佳答案
在目录的files中找到最新(最大)的lastModified()
,或者如果没有使用目录本身,请执行以下操作:
public static Date getLastModified(File directory) {
File[] files = directory.listFiles();
if (files.length == 0) return new Date(directory.lastModified());
Arrays.sort(files, new Comparator<File>() {
public int compare(File o1, File o2) {
return new Long(o2.lastModified()).compareTo(o1.lastModified()); //latest 1st
}});
return new Date(files[0].lastModified());
}
仅供引用,此代码已经过测试(并且有效)。
关于java - 如何在Java中获取目录的最后修改日期和时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12249155/