summaryrefslogtreecommitdiff
path: root/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java
diff options
context:
space:
mode:
authorSzymon Szukalski <szymon.szukalski@gmail.com>2012-10-03 10:45:23 +1000
committerSzymon Szukalski <szymon.szukalski@gmail.com>2012-10-03 10:45:23 +1000
commit6ddaaf8555d6b94684d061289249cac67c6eb09f (patch)
treeab4041586a70dcd1140cb32263c71354c2901e2b /src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java
parent9c632725afb73bbf0966e52ca50c6d66c12d853b (diff)
Added example of SimpleFileVisitor usage
Diffstat (limited to 'src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java')
-rw-r--r--src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java b/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java
index 0899d60..0133574 100644
--- a/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java
+++ b/src/main/java/io/skas/melbjvm/nio2/Nio2MetaDataLoggingUtils.java
@@ -25,9 +25,11 @@ public class Nio2MetaDataLoggingUtils {
public static final String POSIX_VIEW = "posix";
public static void logBasicFileAttributes(Path path) throws IOException {
+
final FileStore fileStore = Files.getFileStore(path);
if (fileStore.supportsFileAttributeView(BASIC_VIEW)) {
+
BasicFileAttributes basicFileAttributes = Files.readAttributes(path, BasicFileAttributes.class);
LOG.info("Basic file attributes for path [{}]", path);
@@ -35,15 +37,21 @@ public class Nio2MetaDataLoggingUtils {
LOG.info(" isOther? {}", basicFileAttributes.isOther());
LOG.info(" isRegularFile? {}", basicFileAttributes.isRegularFile());
LOG.info(" isSymbolicLink? {}", basicFileAttributes.isSymbolicLink());
+
} else {
+
LOG.info("the file store in which [{}] resides doesn't support the [{}] file attribute view", path, BASIC_VIEW);
+
}
+
}
public static void logDosFileAttributes(Path path) throws IOException {
+
final FileStore fileStore = Files.getFileStore(path);
if (fileStore.supportsFileAttributeView(DOS_VIEW)) {
+
DosFileAttributes dosFileAttributes = Files.readAttributes(path, DosFileAttributes.class);
LOG.info("Dos file attributes for path [{}]", path);
@@ -52,15 +60,21 @@ public class Nio2MetaDataLoggingUtils {
LOG.info(" isHidden? {}", dosFileAttributes.isHidden());
LOG.info(" isReadOnly? {}", dosFileAttributes.isReadOnly());
LOG.info(" isSystem? {}", dosFileAttributes.isSystem());
+
} else {
+
LOG.info("the file store in which [{}] resides doesn't support the [{}] file attribute view", path, DOS_VIEW);
+
}
+
}
public static void logPosixFileAttributes(Path path) throws IOException {
+
final FileStore fileStore = Files.getFileStore(path);
if (fileStore.supportsFileAttributeView(POSIX_VIEW)) {
+
PosixFileAttributes posixFileAttributes = Files.readAttributes(path, PosixFileAttributes.class);
final Set<PosixFilePermission> permissions = posixFileAttributes.permissions();
@@ -81,24 +95,33 @@ public class Nio2MetaDataLoggingUtils {
(permissions.contains(PosixFilePermission.OTHERS_READ) ? "r" : "-") +
(permissions.contains(PosixFilePermission.OTHERS_WRITE) ? "w" : "-") +
(permissions.contains(PosixFilePermission.OTHERS_EXECUTE) ? "x" : "-"));
+
} else {
+
LOG.info("the file store in which [{}] resides doesn't support the [{}] file attribute view", path, POSIX_VIEW);
+
}
}
public static void logFileOwnerAttributes(Path path) throws IOException {
+
final FileStore fileStore = Files.getFileStore(path);
+
if (fileStore.supportsFileAttributeView(OWNER_VIEW)) {
+
final FileOwnerAttributeView fileAttributeView = Files.getFileAttributeView(path, FileOwnerAttributeView.class);
LOG.info("Owner file attributes for path [{}]", path);
LOG.info(" principal: {}", fileAttributeView.getOwner());
} else {
+
LOG.info("the file store in which [{}] resides doesn't support the [{}] file attribute view", path, OWNER_VIEW);
+
}
}
public static void logFileStoreAttributes(Path path) throws IOException {
+
final FileStore fileStore = Files.getFileStore(path);
LOG.info("File store attributes for path [{}]", path);
@@ -108,6 +131,7 @@ public class Nio2MetaDataLoggingUtils {
LOG.info(" total space: {}", fileStore.getTotalSpace() / BYTES_IN_MEGABYTE);
LOG.info(" total unallocated: {}", fileStore.getUnallocatedSpace() / BYTES_IN_MEGABYTE);
LOG.info(" total space: {}", fileStore.getUsableSpace() / BYTES_IN_MEGABYTE);
+
}
-}
+} \ No newline at end of file