有没有Unix函数的Java库?

2022-09-03 15:18:04

我正在寻找一个Java库来与标准Unix函数接口,即,,。stat()getpwuid()readlink()

这曾经存在过,被称为.它于2000年发布。请参阅此公告。但是项目页面现在已经消失了。javaunix

今天在Java中是否有这些类型的函数的现代替代品?可以对输出进行系统调用和解析,或者编写自定义 JNI 方法,但这些方法比简单地使用旧库更费力。/bin/ls -ljavaunix

澄清 ————为了找出文件的所有者,它应该从C程序中调用,给出所有者的UID,然后用于从UID中获取帐户的名称。在Java中,这可以通过自定义JNI方法或使用JNI的库来完成。stat()getpwuid()javaunix


答案 1

我知道有两个引人注目的项目:

就我个人而言,我非常喜欢JNA。看看我的这个例子,映射:link(2)

import com.sun.jna.Library;
import com.sun.jna.Native;

class Link {

    private static final C c =
        (C) Native.loadLibrary("c", C.class);

    private static interface C extends Library {

        /** see man 2 link */
        public int link(String oldpath, String newpath);
    }

    @Override
    protected void hardLink(String from, String to) {
        c.link(to, from);
    }
}

答案 2

据我所知,JNA-POSIX目前停滞不前。

开发人员继续创建JNR-POSIX


推荐