From 20f9a166a097e0c17be22490b048b42320e2e333 Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Wed, 3 Oct 2012 11:10:17 +1000 Subject: Added FileSystem view support logging --- src/main/java/io/skas/melbjvm/nio2/App.java | 9 ++++++++- .../java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java | 13 +++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'src/main/java/io/skas') diff --git a/src/main/java/io/skas/melbjvm/nio2/App.java b/src/main/java/io/skas/melbjvm/nio2/App.java index f6b986a..597d610 100644 --- a/src/main/java/io/skas/melbjvm/nio2/App.java +++ b/src/main/java/io/skas/melbjvm/nio2/App.java @@ -18,10 +18,17 @@ public class App { public static void main(String[] args) throws IOException { - final Path path = Paths.get("/tmp", "monkeys"); + final Path path; + + if (args.length > 0) { + path = Paths.get(args[0]); + } else { + path = Paths.get(System.getProperty("java.io.tmpdir")); + } if (Files.exists(path, LinkOption.NOFOLLOW_LINKS)) { + Nio2MetaDataLoggingUtils.logSupportedViews(path); Nio2MetaDataLoggingUtils.logFileStoreAttributes(path); Nio2MetaDataLoggingUtils.logBasicFileAttributes(path); Nio2MetaDataLoggingUtils.logDosFileAttributes(path); diff --git a/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java b/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java index 0133574..d0a095b 100644 --- a/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java +++ b/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java @@ -5,11 +5,14 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.nio.file.FileStore; +import java.nio.file.FileSystem; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.attribute.*; import java.util.Set; +import static com.sun.deploy.util.StringUtils.join; + /** * @author Szymon Szukalski [szymon.szukalski@gmail.com] */ @@ -24,6 +27,16 @@ public class Nio2MetaDataLoggingUtils { public static final String DOS_VIEW = "dos"; public static final String POSIX_VIEW = "posix"; + public static void logSupportedViews(Path path) { + + final FileSystem fileSystem = path.getFileSystem(); + final Set supportedViews = fileSystem.supportedFileAttributeViews(); + + LOG.info("File Attribute Views supported by the FileSystem that created {}", path); + LOG.info(" {}", join(supportedViews, ", ")); + + } + public static void logBasicFileAttributes(Path path) throws IOException { final FileStore fileStore = Files.getFileStore(path); -- cgit v1.2.3