{"id":11971,"date":"2018-09-18T05:15:45","date_gmt":"2018-09-18T03:15:45","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=11971"},"modified":"2020-02-06T18:50:49","modified_gmt":"2020-02-06T17:50:49","slug":"verzeichnise-mit-java-monitor-watchservice-ueberwachen-izlemek","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=11971","title":{"rendered":"Verzeichnise mit Java Monitor WatchService \u00fcberwachen \u0631\u0635\u062f, izlemek, \u986f\u793a\u5668"},"content":{"rendered":"<p>Seit Java 7 gibt es den <a href=\"https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/nio\/file\/WatchService.html\" rel=\"noopener noreferrer\" target=\"_blank\">WatchService<\/a> zum \u00fcberwachen von Verzeichnissen auf System-Ebene. Der WatchService \u00fcbernimmt direkt die Eventaufrufe des Betriebssystems und ist damit vergleichbar mit einem Low-Level-Event.<\/p>\n<p>Damit kann man in ein paar Zeilen Code, zum Beispiel benachrichtigt werden, wenn eine neue Datei im Verzeichnis hinzugef\u00fcgt wird.<br \/>\nDas wir mit der Konstanten <a href=\"https:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/nio\/file\/StandardWatchEventKinds.html\" rel=\"noopener noreferrer\" target=\"_blank\">StandardWatchEventKinds<\/a>.ENTRY_CREATE angegeben. Es gib aber auch noch welche f\u00fcrs l\u00f6schen oder ver\u00e4ndern. Die Konstanten k\u00f6nnen dann auch verkn\u00fcpft werden.<\/p>\n<p>F\u00fcr die Verwendung muss das Package <strong>java.nio.file.*<\/strong> importiert werden. Hier der Beispiel Code, der das &#8222;input&#8220; Verzeichnis des Users \u00fcberwacht, der auch auf einem Raspberry Pi l\u00e4uft \ud83d\ude09<\/p>\n<pre class=\"theme:eclipse lang:java\" >\r\n\r\nString rootVerzeichnis = System.getProperty(\"user.dir\");\r\nPath inputPath = Paths.get(rootVerzeichnis, \"input\");\r\n\r\nWatchService watchService = FileSystems.getDefault().newWatchService();\r\ninputPath.register(watchService, StandardWatchEventKinds.ENTRY_CREATE); \r\n\r\n\tWatchKey key;\r\n\twhile ((key = watchService.take()) != null) {\r\n\t\tfor (WatchEvent&lt;?&gt; event : key.pollEvents()) {\r\n\t\t   String neueDatei = event.context().toString();\r\n                   \/\/ neueDatei enth\u00e4lt den Dateinamen der zugf\u00fcgten Datei\r\n\t         }\r\n key.reset();\r\n}\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Seit Java 7 gibt es den WatchService zum \u00fcberwachen von Verzeichnissen auf System-Ebene. Der WatchService \u00fcbernimmt direkt die Eventaufrufe des Betriebssystems und ist damit vergleichbar mit einem Low-Level-Event. Damit kann man in ein paar Zeilen Code, zum Beispiel benachrichtigt werden, wenn eine neue Datei im Verzeichnis hinzugef\u00fcgt wird. Das wir mit der Konstanten StandardWatchEventKinds.ENTRY_CREATE angegeben. &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=11971\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eVerzeichnise mit Java Monitor WatchService \u00fcberwachen \u0631\u0635\u062f, izlemek, \u986f\u793a\u5668\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,5,3172,210,1361,2884,1023],"tags":[897,2178,3401,1869,1791,3403,3400,3402,322],"class_list":["post-11971","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-java","category-java-10","category-java-7","category-java-8","category-java-9","category-raspberry-pi","tag-event","tag-java","tag-java-verzeichnis","tag-loeschen","tag-monitor","tag-systemservice","tag-ueberwachen","tag-veraender","tag-verzeichnis"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/11971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11971"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/11971\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11971"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}