javaのsolaris10osのファイルからハードリンクカウントを取得するために何かが必要です。
ls-lの解析はオプションではありません。
posix for java http://bmsi.com/java/posix/index.htmlを使用してみましたが、機能させることができませんでした。
この情報を取得するための他の軽量APIまたはコードはありますか?
javaのsolaris10osのファイルからハードリンクカウントを取得するために何かが必要です。
ls-lの解析はオプションではありません。
posix for java http://bmsi.com/java/posix/index.htmlを使用してみましたが、機能させることができませんでした。
この情報を取得するための他の軽量APIまたはコードはありますか?
Java 7 では、新しいファイル属性 APIを使用して で取得でき
ますjava.nio.file.Files.getAttribute(path, "unix:nlink")
。
「unix」属性ビューは、実際には標準 API の一部として定義されていません (また、「posix」ビューは nlink を提供しません) が、標準の Oracle/OpenJDK 実装で使用できます。一方、リンクの作成は の標準的なcreateLink
方法で利用できるようになりましたFiles
。図に行きます。
C でJNIとstat
/を使用lstat
する以外に、ls を解析するよりも優れているのは、次のコマンドを実行することだけです。
stat --format=%h filename
数値を出力するだけで、解析が簡単です。
しかし、ファイル名にASCII以外の文字が含まれる可能性があると、すべてが複雑になります。ファイル名をネイティブ エンコーディングに変換する必要があり、ファイル名で許可されているすべての文字を変換できない場合があります (ネイティブ エンコーディングがある種の Unicode でない場合)。
また、これにはstat(2)のjnr-posix実装を試すことを検討してください。