【发布时间】:2013-09-04 17:22:29
【问题描述】:
我在 unix 机器上运行 java 7 应用程序。有没有办法在纯 java 中获取当前的 umask 值?
在 C 中我会使用umask 系统调用的组合,但我认为我不能在 Java 中调用它而不求助于 JNI。还有其他方法吗?
编辑:这是一个 C 示例(来自 GUN libc 文档):
mode_t
read_umask (void)
{
mode_t mask = umask (0);
umask (mask);
return mask;
}
【问题讨论】:
-
Java是独立于平台的语言,那么windows上的umask是什么?
-
@StarPinkER 在 java 7 nio 中,你会发现很多只在某些平台上实现的可选操作(例如
PosixFileAttribute)。 -
@McDowell 我在那里什么也没找到...
-
@paradigmatic - 您想要当前 Java 进程的掩码吗? JNA 是否支持您所有的目标平台?一个 C 的例子可以说明你想要什么。