日期:2014-05-20 浏览次数:20985 次
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); } }
------解决方案--------------------