如何在Java中获得Unix文件权限

Iva*_*tyk 4 java unix


有没有办法读取/设置文件的Unix权限,并检查进程是否具有Java中的用户/组/其他权限?我知道这不是JNI的问题,但我需要没有JNI的跨平台解决方案.

sha*_*.ck 7

Set<PosixFilePermission> filePerm = null;
try {
    filePerm = Files.getPosixFilePermissions(Paths.get("/app/data/abc.txt"));
} catch (IOException e) {
    e.printStackTrace();
}
String permission = PosixFilePermissions.toString(filePerm);
Run Code Online (Sandbox Code Playgroud)

从 Java 1.7 开始支持,不跨平台。


Jes*_*per 5

这将在今年夏天发布的Java 7中使用包中的类java.nio.file.attribute.请参阅JDK 7 API文档.

Java 6及更早版本的标准库中没有任何内容可以使用Unix文件系统权限.

因此,通过使用Java 7 API,您不需要JNI,但Voo表示它不是跨平台的,因为Windows和其他非Unix系统不支持Unix文件权限.