Timer FileListener

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;

public class FileListener {
public static void main(String[] args) {
FileListener fileListener = new FileListener();
fileListener.timer = new Timer(true);
fileListener.start();
}

private Timer timer;

private long currentTime = -1;

private long lastModifiedTime = -1;

private long times = 1;

private long pollingInterval = 1000 * times;

private String filePath = "c:\\test.txt";

public FileListener() {
File file = new File(filePath);
lastModifiedTime = file.lastModified();
currentTime = lastModifiedTime;
}

public void start() {
timer.schedule(new FileMonitor(), 0, pollingInterval);

while (true) {
try {
int ch = System.in.read();
System.out.println("ch=" + ch);
if (ch - 'c' == 0) {
System.out.println("quit");
timer.cancel();
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

private class FileMonitor extends TimerTask {
public void run() {
File file = new File(filePath);
lastModifiedTime = file.exists() ? file.lastModified() : -1;
if (currentTime != lastModifiedTime) {//1439540671443
String string = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS")
.format(lastModifiedTime);//1439540994156
System.out.println("File changed At:" + string);
currentTime = lastModifiedTime;
}
}
}


}

 

posted @ 2015-08-15 16:59  Alamps  阅读(139)  评论(0编辑  收藏  举报