【发布时间】:2014-12-01 00:48:21
【问题描述】:
如果目录中最新修改的文件超过 24 小时,我想发送警报。我使用了这两个问题的提示:
How do I find the last modified file in a directory in Java?
Changing Java Date one hour back
并提出:
File dir = new File("/path/to/dir");
File[] files = dir.listFiles();
if (files.length == 0) {
return null;
}
File lastModifiedFile = files[0];
for (int i = 1; i < files.length; i++) {
if (lastModifiedFile.lastModified() < files[i].lastModified()) {
Date modifiedDate = new Date(files[i].lastModified());
return modifiedDate;
}
}
Date currentDate = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(currentDate);
cal.add(Calendar.HOUR, -24);
Date alertDate = cal.getTime();
if (modifiedDate.before(alertDate)){
return true;
} else {
return false;
}
但是我得到一个“找不到符号”modifiedDate。我意识到这是因为最后一个 if 语句看不到 modifiedDate 但如果我将它和 alertDate 放在初始 for 循环中,那么我会得到一个“缺少返回语句”。
有什么想法吗?
【问题讨论】: