Using file monitoring in Commons-io
Jar Package:
PackageOrg.demo.file;ImportJava.util.concurrent.TimeUnit;Importorg.apache.commons.io.filefilter.FileFilterUtils;ImportOrg.apache.commons.io.monitor.FileAlterationMonitor;ImportOrg.apache.commons.io.monitor.FileAlterationObserver;/*** File monitoring test *@author* @date 2010-11-16 * @file Org.demo.file.FileMonitor.java*/ Public classFilemonitortest {/** * @paramargs *@throwsException*/ Public Static voidMain (string[] args)throwsException {//Monitoring DirectoryString RootDir = "D:\\temp"; //Polling interval 5 seconds LongInterval = TimeUnit.SECONDS.toMillis (5); //Filealterationobserver Observer =NewFilealterationobserver (RootDir, Filefilterutils.and (Filefilterutils.filefilefilter (), Filefilterutils.suffixfilefilter (". Java")), NULL); Observer.addlistener (NewMyfilelistener ()); Filealterationmonitor Monitor=NewFilealterationmonitor (Interval,observer); //Start MonitoringMonitor.start (); }}
PackageOrg.demo.file;ImportJava.io.File;ImportOrg.apache.commons.io.monitor.FileAlterationListenerAdaptor;/*** Custom File Listener *@author* @date 2010-11-16 * @file Org.demo.file.MyFileListener.java*/ Public classMyfilelistenerextendsfilealterationlisteneradaptor{@Override Public voidonfilecreate (file file) {System.out.println ("[New]:" +File.getabsolutepath ()); } @Override Public voidonfilechange (file file) {System.out.println ("[Edit]:" +File.getabsolutepath ()); } @Override Public voidonfiledelete (file file) {System.out.println ("[Delete]:" +File.getabsolutepath ()); }}
Java reads whether a directory has new files (polling)