test/java/nio/file/WatchService/SensitivityModifier.java

Print this page

        

@@ -49,10 +49,11 @@
             Path dir = dirs[i];
             dir.register(watcher, new WatchEvent.Kind<?>[]{ ENTRY_MODIFY }, sensivity);
         }
     }
 
+    @SuppressWarnings("unchecked")
     static void doTest(Path top) throws Exception {
         FileSystem fs = top.getFileSystem();
         WatchService watcher = fs.newWatchService();
 
         // create directories and files

@@ -59,15 +60,15 @@
         int nDirs = 5 + rand.nextInt(20);
         int nFiles = 50 + rand.nextInt(50);
         Path[] dirs = new Path[nDirs];
         Path[] files = new Path[nFiles];
         for (int i=0; i<nDirs; i++) {
-            dirs[i] = top.resolve("dir" + i).createDirectory();
+            dirs[i] = Files.createDirectory(top.resolve("dir" + i));
         }
         for (int i=0; i<nFiles; i++) {
             Path dir = dirs[rand.nextInt(nDirs)];
-            files[i] = dir.resolve("file" + i).createFile();
+            files[i] = Files.createFile(dir.resolve("file" + i));
         }
 
         // register the directories (random sensitivity)
         register(dirs, watcher);
 

@@ -78,23 +79,20 @@
 
         // modify files and check that events are received
         for (int i=0; i<10; i++) {
             Path file = files[rand.nextInt(nFiles)];
             System.out.println("Modify: " + file);
-            OutputStream out = file.newOutputStream();
-            try {
+            try (OutputStream out = Files.newOutputStream(file)) {
                 out.write(new byte[100]);
-            } finally {
-                out.close();
             }
             System.out.println("Waiting for event...");
             WatchKey key = watcher.take();
             WatchEvent<?> event = key.pollEvents().iterator().next();
             if (event.kind() != ENTRY_MODIFY)
                 throw new RuntimeException("Unexpected event: " + event);
             Path name = ((WatchEvent<Path>)event).context();
-            if (!name.equals(file.getName()))
+            if (!name.equals(file.getFileName()))
                 throw new RuntimeException("Unexpected context: " + name);
             System.out.println("Event OK");
 
             // drain events (to avoid interference)
             do {