-4

请告知算法假设如果文件 def.txt 是在 C 中创建的:那么它本身不应在 1 小时内修改,如果在 1 小时内未修改,我必须在控制台中打印“文件未修改”和如果它本身在 1 小时内被修改,那么我必须打印语句“该文件已修改”请告知如何在 java 中编写这样的算法或如何在 java 中实现这一点

4

3 回答 3

0
public static void main(String[] args) {
File f = new File("/temp/t.txt");
long lastModified = f.lastModified();
long currentTime = System.currentTimeMillis();
long difference = currentTime - lastModified;
// time is in milliseconds, one hour is 60 * 60 * 1000 milliseconds
long oneHour = 1000 * 60 *60;
if (difference > oneHour)
    System.out.println("file is not modified");
else
    System.out.println("that file is modified");
}
于 2012-10-23T09:41:44.377 回答
0

如果您需要监控多个文件/目录,您可以实现 Watch Service,请参阅:“创建 Watch Service 并注册事件” 捕获 ENTRY_CREATE 和 ENTRY_MODIFY 事件将使您能够采取适当的行动。在创建时记录创建时间,在修改时检测修改时间是小于还是大于一个小时。

于 2012-10-23T09:22:14.387 回答
0

file.lastModified()每次尝试修改文件时,首先检查和之间的差异System.currentTimeMillis()是否小于一小时(以毫秒为单位)。

您必须在需要时调用此验证服务(= 提供验证方法的对象)。

于 2012-10-23T09:25:57.853 回答