Kev*_*nko 14 java unix java-native-interface posix
我要寻找一个Java库与标准的Unix功能,即对接stat()
,getpwuid()
,readlink()
.
这曾经存在,并被称为javaunix
.它于2000年发布.见本公告.但是项目页面现在已经消失了.
今天Java中这些类型的函数是否有任何现代替代品?可以让系统调用/bin/ls -l
并解析输出,或编写自定义JNI方法,但这些方法比简单地使用旧javaunix
库更有用.
澄清 -为了从C程序中找出文件的所有者,它应该调用stat()
哪个给出所有者的UID,然后用来getpwuid()
从UID获取帐户的名称.在Java中,这可以通过自定义JNI方法或javaunix
使用JNI 的库来完成.
dfa*_*dfa 16
我知道两个引人注目的项目:
我个人非常喜欢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);
}
}
Run Code Online (Sandbox Code Playgroud)