我想使用Java NIO WatchService
來監視(監視)多個目錄。 這裏我的問題是要觀看的目錄數量是動態的,用戶可以將任意數量的目錄添加到WatchService
。這是可以實現的嗎?用於多個目錄的Java nio WatchService
5
A
回答
6
可以使用相同的WatchService
註冊多個路徑。每條路徑都有自己的WatchKey
。然後take()
或poll()
將返回對應於修改的路徑的WatchKey
。
查看Java's WatchDir example瞭解詳情。
1
我只是想解釋如何使用WatchService
來完成這件事。
下面是一段代碼,演示瞭如何使用一個WatchService
實例,並聽取兩個Paths
this.watcher = FileSystems.getDefault().newWatchService();
this.keys = new HashMap<>();
Path plugins = Paths.get(INSTANCE.getPluginPath());
logger.info(String.format("Scanning %s ...", plugins));
registerAll(plugins);
Path drivers = Paths.get(INSTANCE.getDriverPath());
logger.info(String.format("Scanning %s ...", drivers));
registerAll(drivers);
的例子是基於Oracle Example
相關問題
- 1. 用於UNIX sys/classes/gpio文件的NIO watchservice
- 2. WatchService watch創建文件的specfic目錄
- 3. Java:使用nio Files.copy移動目錄
- 4. 如何使用WatchService觀看多個目錄?
- 5. 使用Java NIO將文件從一個目錄移動到另一個目錄
- 6. 使用Java 1.7中的WatchService監視目錄更改
- 7. 如何使用WatchService觀察更改的子目錄? (Java)
- 8. Java nio WatchService:觀看Windows驅動器列表
- 9. 使用Java nio創建一個子目錄和文件
- 10. 使用WatchService監視映射網絡驅動器上的多個目錄
- 11. WatchService for Java 6
- 12. 使用FileChannel fsync與NIO.2的目錄
- 13. WatchService /刪除/文件或目錄?
- 14. 的java:使用NIO
- 15. 用於異步服務器的Java NIO和多線程
- 16. Java nio - 無法刪除已被清空的目錄
- 17. Java NIO和非NIO性能
- 18. 的Java NIO - 使用選擇
- 19. Java NIO(java.nio。*) - 哪個版本?
- 20. Java nio FileSystem Watcher鎖定目錄。刪除不可能
- 21. Java的NIO和SSL
- 22. 在Java NIO的HttpCore
- 23. Java NIO Selector.open()IOException
- 24. Java NIO庫,api ...?
- 25. 將GIT用於具有多個位置目錄的項目
- 26. 的Java NIO 7/JPathWatch問題 - 在Windows
- 27. 在java 7中使用WatchService問題
- 28. 在java中,如何看多個目錄
- 29. 獲取多個java文件目錄
- 30. nosuchfileexception同時使用Java NIO
是的,這是可以實現的。 – Sanchit 2013-03-20 07:55:24
@Sanchit感謝您的回答。你能指導我如何做到這一點 – 2013-03-20 08:39:00