Chcę oglądać (monitorować) wiele katalogów przy użyciu Java NIO WatchService
. Mój problem polega na tym, że liczba katalogów do obejrzenia jest dynamiczna, a użytkownik może dodać dowolną liczbę katalogów do WatchService
. Czy to jest osiągalne?Obsługa usługi Java nio WatchService dla wielu katalogów
5
A
Odpowiedz
6
Możliwe jest zarejestrowanie wielu ścieżek z tym samym WatchService
. Każda ścieżka ma swój własny numer WatchKey
. take()
lub poll()
zwróci następnie WatchKey
odpowiadającą zmodyfikowanej ścieżce.
Aby uzyskać szczegółowe informacje, patrz: Java's WatchDir example.
1
Próbuję tylko wyjaśnić, jak dokładnie można to zrobić za pomocą WatchService
.
Oto fragment kodu, który pokazuje w jaki sposób można korzystać z jednego WatchService
instancji i słuchać dwa 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);
Przykład jest oparty na Oracle Example
Powiązane problemy
- 1. WatchService dla Java 6
- 2. Usługa NIO watchservice dla systemów UNIX sys/classes/gpio
- 3. Uwalnianie zasobów Java 7 WatchService
- 4. java nio Wybieranie wybiórcze
- 5. Obsługa wyjątków dla wielu tras
- 6. Apache: Jedno ustawienie dla wielu katalogów
- 7. Problem Java NIO na CharBuffer
- 8. Programy Java używające środowiska NIO
- 9. Java: WatchService zostaje poinformowany przed skopiowaniem zawartości
- 10. Java 7 NIO.2 Files.getLastModifiedTime strefa czasowa
- 11. Czy istnieje sposób na odpytywanie przy użyciu usługi WatchService?
- 12. wiązanie usługi dla wielu działań
- 13. projekt Java struktura katalogów konwencja
- 14. Dowolne środowiska NIO dla .NET?
- 15. Java NIO: transferFrom do końca strumienia
- 16. Serwer Java NIO o dużym obciążeniu TCP
- 17. Przetwarzanie StAX z kanału Java NIO
- 18. Obsługa katalogów ze spacjami Python subprocess.call()
- 19. Java: Używanie nio Files.copy do przenoszenia katalogu
- 20. długi sondowanie netty nio framework java
- 21. java nio czyta linie z pliku
- 22. Kod testu urządzenia z WatchService
- 23. rsync wielu zdalnych katalogów na komputerze lokalnym konserwujące ścieżek katalogów
- 24. dplyr: Obsługa wielu wartości
- 25. Obsługa mrówek dla java 9 addmods opcja
- 26. Tomcat Java NIO z jednoczesnych połączeń klienckich powolny TCP
- 27. Akka/Java: Obsługa wielu typów wiadomości wewnątrz niestandardowego aktora?
- 28. Tworzenie javadoc z wielu katalogów src
- 29. Obsługa wielu formatów w Unity
- 30. Firebase hosting z wielu katalogów w wielu domenach
Tak, to jest możliwe do osiągnięcia. – Sanchit
@Sanchit Dzięki za odpowiedź. Czy możesz mi doradzić, jak to osiągnąć? –