Advertisement
murkata86

Reader

Mar 16th, 2016
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.69 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.nio.file.WatchEvent;
  4. import java.nio.file.WatchKey;
  5. import java.nio.file.WatchService;
  6.  
  7. /**
  8.  * Created by Ivan on 3/16/2016.
  9.  */
  10. public class MyWatchQueueReader implements Runnable {
  11.  
  12.     /** the watchService that is passed in from above */
  13.     private WatchService myWatcher;
  14.     private CommunicationServer server;
  15.     public MyWatchQueueReader(WatchService myWatcher, CommunicationServer server) {
  16.         this.myWatcher = myWatcher;
  17.         this.server = server;
  18.     }
  19.  
  20.     /**
  21.      * In order to implement a file watcher, we loop forever
  22.      * ensuring requesting to take the next item from the file
  23.      * watchers queue.
  24.      */
  25.     @Override
  26.     public void run() {
  27.         try {
  28.             // get the first event before looping
  29.             WatchKey key = myWatcher.take();
  30.             while(key != null) {
  31.                 // we have a polled event, now we traverse it and
  32.                 // receive all the states from it
  33.                 for (WatchEvent event : key.pollEvents()) {
  34.                     System.out.printf("Received %s event for file: %s\n",
  35.                             event.kind(), event.context() );
  36.                     System.out.printf("Received\n");
  37.                     String line = "Received " + event.kind() + " event for file: " + event.context() + "\n";
  38.                     server.StartCommunicationg(line + "\n");
  39.                     System.out.printf(" Not Received\n");
  40.                 }
  41.                 key.reset();
  42.                 key = myWatcher.take();
  43.             }
  44.         } catch (InterruptedException e) {
  45.             e.printStackTrace();
  46.         }
  47.         System.out.println("Stopping thread");
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement