有什么方法可以读取/设置文件的Unix权限并检查进程是否具有Java中的用户/组/其他权限?我知道这不是JNI的问题,但我需要不带JNI的跨平台解决方案。如何在Java中获得Unix文件的权限
2
A
回答
5
这个将在今年夏天发布的Java 7中使用包java.nio.file.attribute
中的类来实现。请参阅JDK 7 API documentation。
Java 6及更早版本在标准库中没有任何东西可以使用Unix文件系统权限。
所以,通过使用Java 7 API,你不需要JNI,但是Voo说它当然不会是跨平台的,因为Windows和其他非Unix系统不支持Unix文件权限。
1
目前Java中没有通用文件访问权限管理API。它针对未来的Java版本。至于现在,我们没有更多的则File.canRead()/ canWrite()/ canExecute()和File.setExecutable ...
3
Set<PosixFilePermission> filePerm = null;
try {
filePerm = Files.getPosixFilePermissions(Paths.get("/app/data/abc.txt"));
} catch (IOException e) {
e.printStackTrace();
}
String permission = PosixFilePermissions.toString(filePerm);
从Java 1.7支持的,不是跨平台。
相关问题
- 1. 如何更改unix文件的权限?
- 2. UNIX的文件权限
- 3. 如何获得在agavi框架中创建文件的权限?
- 4. UNIX/Linux/Mac OSX获得文件权限,编号为
- 5. Unix中的文件权限问题
- 6. 如何获取文件权限模式编程在Java中
- 7. 如何在SAP ABAP中创建文件时设置(unix)权限?
- 8. 如何获得Python中的默认文件权限?
- 9. UNIX - 基于权限的grep文件
- 10. Java - 如何获得Java Web Start的权限
- 11. 如何获得编辑文件apache2.conf的权限? [Ubuntu]
- 12. 如何获得未提升权限的进程文件名?
- 13. collective.xsendfile,ZODB斑点和UNIX文件权限
- 14. 我如何获得在Tomcat的webapps中创建文件夹的权限? (UBUNTU)
- 15. 如何获得Gimp的权限
- 16. 如何获得调试postgres的权限?
- 17. 如何获得Facebook上的`fb:explicit_shared`权限
- 18. 如何获得NDK的权限
- 19. 如何获得蛋糕的权限PHP
- 20. 如何获得授权的drupal文件?
- 21. JScript:如何获得提升的权限(管理员权限)
- 22. 在Java中操作Windows文件权限
- 23. 在java中设置NTFS文件权限
- 24. 在java中设置文件权限5
- 25. 如何使用Ruby获得八进制文件权限?
- 26. 如何获得文件夹权限,以显示与PHP
- 27. 如何获得权限创建文件/目录与节点FS
- 28. 在读取文件时获取Java中拒绝的权限(Linux)
- 29. 如何获得Sharepoint 2010中的文档库权限?
- 30. 在Unix/Linux中更改新复制文件的权限
您需要一个**跨平台**解决方案来读取** unix **文件权限?哦,那对于一些java不相关的原因似乎有问题。如果Java使用File API提供的信息不够用,则需要使用一些特定于UNIX的解决方案。 Jdk7中的NIO File类虽然支持ACL和Unix权限,但我不明白它是如何移植的......你必须坚持使用高级信息 – Voo
“Unix文件权限”(权限?)doesn'这听起来很“跨平台”! –
我认为作者的意思是“跨平台支持Unix文件模式”,这样他就不必为他希望支持的每个平台编写JNI并编译一个库。 –