日期:2014-05-20 浏览次数:21172 次
import java.util.*;
import java.io.*;
class Test {
public static void main(String[] args) {
Timer timer1 = new Timer(); //监测文件用
final Timer timer2 = new Timer(); //处理事情用
timer1.scheduleAtFixedRate(new TimerTask() {
long delay = 0;
public void run() {
try {
RandomAccessFile raf = new RandomAccessFile("controlfile", "rw");
String buf = raf.readLine();
raf.close();
long l = Long.valueOf(buf).longValue();
if (delay != l) { //文件时间改变了
delay = l; //取得间隔时间
timer2.cancel(); //停止处理事情的timer
timer2.scheduleAtFixedRate(new TimerTask() { //重新开启处理事情的timer
public void run() {
//处理事情
}
}, 0, delay);
}
} catch (Exception e) {e.printStackTrace();}
}
}, 0, 30*1000);
}
}
------解决方案--------------------