gpt4 book ai didi

java - 如何使用lastModified()检测文件是否被修改

转载 作者:行者123 更新时间:2023-11-30 05:46:04 26 4
gpt4 key购买 nike

我知道我可以使用lastModified()来获取文件的最后修改时间。我不明白的是,如何使用此方法来检测文件是否已更改。我是否将其与当前时间进行比较?我试图执行以下操作,但我认为它不起作用

long time = xx.lastModified();
if(time != localtime)
//.....

最佳答案

对于这个问题有很多解决方案,我知道这个:对于单个文件,会启动一个线程来检查lastModified值并与之前的值进行比较。

import java.util.*;
import java.io.*;

public abstract class FileWatcher extends TimerTask {
private long timeStamp;
private File file;

public FileWatcher( File file ) {
this.file = file;
this.timeStamp = file.lastModified();
}

public final void run() {
long timeStamp = file.lastModified();

if( this.timeStamp != timeStamp ) {
this.timeStamp = timeStamp;
onChange(file);
}
}

protected abstract void onChange( File file );
}

这是测试的主要内容:

import java.util.*;
import java.io.*;

public class FileWatcherTest {
public static void main(String args[]) {
// monitor a single file
TimerTask task = new FileWatcher( new File("c:/temp/text.txt") ) {
protected void onChange( File file ) {
// here we code the action on a change
System.out.println( "File "+ file.getName() +" have change !" );
}
};

Timer timer = new Timer();
// repeat the check every second
timer.schedule( task , new Date(), 1000 );
}
}

关于java - 如何使用lastModified()检测文件是否被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54815226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com