Search code examples
javalinuxposixsolaris-10

get Hard Link Count in Java


I need something to get the hard link count from a file in a solaris10 os in java.

parsing ls -l is not an option.

I tried using posix for java http://bmsi.com/java/posix/index.html but couldn't manage to get it working.

Is there any other lightweight API or code to get this info?


Solution

  • In Java 7 you can use the new file attributes API to get it with java.nio.file.Files.getAttribute(path, "unix:nlink").

    The "unix" attribute view is not actually defined as part of the standard API (and the "posix" view does not give you nlink), but is available in the standard Oracle/OpenJDK implementation. On the other hand creating a link is now available with the standard createLink method on Files. Go figure.