java - 在java中使用八进制表示法设置文件权限
问题描述
我想从我的 java 代码中创建具有所需 unix 权限的文件和目录。unix 权限作为用户的输入,并以八进制数形式给出(例如 02775)。我发现java.nio.file.attribute.PosixFilePermission
它非常方便,但它不允许设置 setgid (+s) 位。以下代码抛出java.lang.IllegalArgumentException: Invalid mode
Set<PosixFilePermission> posixPermissions = PosixFilePermissions.fromString("rwxrwsr-x");
Files.setPosixFilePermissions(someDir, posixPermissions);
另外我想避免手动将八进制数转换为posix权限字符串(例如:“rwxrw-rx”)。除了使用 chmod 命令触发子进程之外,还有什么方法可以在 java 中执行此操作?
解决方案
推荐阅读
- c# - 如何同步执行主题中的功能?
- material-ui - 不再找到 material-ui 中的模块
- android - 如何以编程方式更改 TabItem 可见性?
- python - 如何测试 AVL 树的自定义实现
- gcc - 输入 GCC 的这种显然非标准的结构包装语法是什么?
- entity-framework - Entity Framework Core - 有转换 - 支持空值
- unity3d - 刚体不会停止向后移动
- ios - Swift - 此服务器的证书无效
- php - PHP Array of ex:8 项到 4 项的数组,包含该数组的 2-2 个元素
- javascript - 是否可以仅更改标签中的文本(没有其他元素)?