ImportJava.io.File;ImportJava.text.SimpleDateFormat;ImportJava.util.Timer;ImportJava.util.TimerTask; Public classFilelistener { Public Static voidMain (string[] args) {Filelistener Filelistener=NewFilelistener (); Filelistener.timer=NewTimer (true); Filelistener.start (); } PrivateTimer timer; Private LongCurrentTime =-1; Private LongLastmodifiedtime =-1; Private LongTimes = 1; Private LongPollingInterval = 1000 *Times ; PrivateString FilePath = "C:\\Test.txt"; PublicFilelistener () {File file=NewFile (FilePath); Lastmodifiedtime=file.lastmodified (); CurrentTime=Lastmodifiedtime; } Public voidstart () {Timer.schedule (NewFileMonitor (), 0, PollingInterval); while(true) { Try { intCH =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 classFileMonitorextendsTimerTask { Public voidRun () {File file=NewFile (FilePath); Lastmodifiedtime= File.exists ()? File.lastmodified ():-1; if(CurrentTime! = lastmodifiedtime) {//1439540671443String string =NewSimpleDateFormat ("Yyyy-mm-dd HH:mm:ss SSS"). Format (lastmodifiedtime);//1439540994156System.out.println ("File changed at:" +string); CurrentTime=Lastmodifiedtime; } } }}
Compare the last modified times for two files Filelistener