开发手册 欢迎您!
软件开发者资料库

Commons IO - FileAlterationObserver

Apache Commons IO FileAlterationObserver - 从简单和简单的步骤学习Apache Commons IO,从基本到高级概念,包括概述,环境设置,实用程序类示例,IOUtils,FileUtils,FilenameUtils,FileSystemUtils,IOCase,LineIterator,Filter Classes示例,NameFileFilter, WildcardFileFilter,SuffixFileFilter,PrefixFileFilter,OrFileFilter,AndFileFilter,File Monitor Classes示例,FileEntry,FileAlterationObserver,FileAlterationMonitor,Comparator类示例,NameFileComparator,SizeFileComparator,LastModifiedFileComparator,Stream Classes示例,TeeInputStream,TeeOutputStream。

表示根目录下的文件状态,检查文件系统并通知侦听器创建,更改或删除事件.

类声明

以下是 org.apache.commons.io.monitor.FileAlterationObserver Class :

public class FileAlterationObserver   extends Object implements Serializable

FileAlterationObserver类的示例

这是我们需要的输入文件解析&减去;

Welcome to TutorialsPoint. Simply Easy Learning.

IOTester.java

import java.io.File;import java.io.IOException;import org.apache.commons.io.FileDeleteStrategy;import org.apache.commons.io.FileUtils;import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;import org.apache.commons.io.monitor.FileAlterationMonitor;import org.apache.commons.io.monitor.FileAlterationObserver;public class IOTester {   public static void main(String[] args) {      try {         usingFileAlterationObserver();      } catch(IOException e) {         System.out.println(e.getMessage());      }   }   public static void usingFileAlterationObserver() throws IOException {      //get the file object      File inputFile = FileUtils.getFile("input.txt");      String absolutePath = inputFile.getAbsolutePath();      String parent = absolutePath.substring(0,absolutePath.indexOf("input.txt"));         File parentDirectory = FileUtils.getFile(parent);      FileAlterationObserver observer = new FileAlterationObserver(parentDirectory);      observer.addListener(new FileAlterationListenerAdaptor() {         @Override         public void onDirectoryCreate(File file) {            System.out.println("Folder created: " + file.getName());         }         @Override         public void onDirectoryDelete(File file) {            System.out.println("Folder deleted: " + file.getName());         }          @Override         public void onFileCreate(File file) {            System.out.println("File created: " + file.getName());         }         @Override         public void onFileDelete(File file) {            System.out.println("File deleted: " + file.getName());         }        });      //create a monitor to check changes after every 500 ms      FileAlterationMonitor monitor = new FileAlterationMonitor(500, observer);      try {         monitor.start();         //create a new directory         File newFolder = new File("test");         File newFile = new File("test1");         newFolder.mkdirs();         Thread.sleep(1000);         newFile.createNewFile();         Thread.sleep(1000);         FileDeleteStrategy.NORMAL.delete(newFolder);         Thread.sleep(1000);         FileDeleteStrategy.NORMAL.delete(newFile);         Thread.sleep(1000);         monitor.stop(10000);      } catch(IOException e) {         System.out.println(e.getMessage());      } catch(InterruptedException e) {         System.out.println(e.getMessage());      } catch (Exception e) {         System.out.println(e.getMessage());      }   } }

输出

它将打印以下内容结果.

Folder created: testFile created: test1Folder deleted: testFile deleted: test1