get Hard Link Count in Java

java, linux, posix, solaris-10

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.

Problem

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?

Original source