From 6ddaaf8555d6b94684d061289249cac67c6eb09f Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Wed, 3 Oct 2012 10:45:23 +1000 Subject: Added example of SimpleFileVisitor usage --- src/main/java/io/skas/melbjvm/nio2/App.java | 32 +++++++++++++++++++---------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'src/main/java/io/skas/melbjvm/nio2/App.java') diff --git a/src/main/java/io/skas/melbjvm/nio2/App.java b/src/main/java/io/skas/melbjvm/nio2/App.java index a586247..f6b986a 100644 --- a/src/main/java/io/skas/melbjvm/nio2/App.java +++ b/src/main/java/io/skas/melbjvm/nio2/App.java @@ -4,6 +4,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.LinkOption; import java.nio.file.Path; import java.nio.file.Paths; @@ -16,20 +18,28 @@ public class App { public static void main(String[] args) throws IOException { - final Path path = Paths.get("/tmp", "doit"); + final Path path = Paths.get("/tmp", "monkeys"); - Nio2MetaDataLoggingUtils.logFileStoreAttributes(path); - Nio2MetaDataLoggingUtils.logBasicFileAttributes(path); - Nio2MetaDataLoggingUtils.logDosFileAttributes(path); - Nio2MetaDataLoggingUtils.logPosixFileAttributes(path); - Nio2MetaDataLoggingUtils.logFileOwnerAttributes(path); + if (Files.exists(path, LinkOption.NOFOLLOW_LINKS)) { - Watcher watcher = new Watcher(); + Nio2MetaDataLoggingUtils.logFileStoreAttributes(path); + Nio2MetaDataLoggingUtils.logBasicFileAttributes(path); + Nio2MetaDataLoggingUtils.logDosFileAttributes(path); + Nio2MetaDataLoggingUtils.logPosixFileAttributes(path); + Nio2MetaDataLoggingUtils.logFileOwnerAttributes(path); + + Watcher watcher = new Watcher(); + + try { + watcher.watchDirectory(path); + } catch (IOException | InterruptedException ex) { + LOG.error(ex.getMessage()); + } + + } else { + + LOG.error("Path {} doesn't exist. Exiting", path); - try { - watcher.watchDirectory(path); - } catch (IOException | InterruptedException ex) { - LOG.error(ex.getMessage()); } } } -- cgit v1.2.3