2011-11-01 69 views

回答

15

是的,當然。 Apache VFS正是如此。你可以在http://commons.apache.org/vfs/找到它。這是一個純粹的Java庫,可以監視的文件,它是很容易使用:

FileSystemManager manager = VFS.getManager(); 
FileObject file= manager.resolveFile("c:/MyFile.txt"); 

DefaultFileMonitor fm = new DefaultFileMonitor(new MyListener()); 
fm.setDelay(5000); 
fm.addFile(file); 
fm.start(); 

上面的代碼將監視文件c:/MyFile.txt。如果它改變,則調用對象new MyListener()。

+16

DefaultFileMonitor似乎是一個輪詢器,並不等同於WatchService,它將從操作系統接收通知而不進行輪詢。 –

4

Jetbrains IntelliJ IDEA有一個'Virtual File System'組件,它啓動本地文件系統觀察器,通知底層文件系統更改回IDEA。兩年來,Jetbrains已經發布了一個應該包含該組件的開源版本。它適用於Java 6.

它按照FAQ page中聲明的Apache 2.0許可證發佈。