gpt4 book ai didi

java - 如何以编程方式更改文件权限?

转载 作者:IT老高 更新时间:2023-10-28 11:23:10 26 4
gpt4 key购买 nike

在 Java 中,我正在动态创建一组文件,并且我想在 linux/unix 文件系统上更改这些文件的文件权限。我希望能够执行 chmod 的 Java 等价物。那可能是Java 5吗?如果有,怎么做?

我知道在 Java 6 中 File 对象具有 setReadable()/setWritable() 方法。我也知道我可以进行系统调用来执行此操作,但如果可能的话,我想避免这种情况。

最佳答案

作为"new"新 IO 工具 (NIO.2) 的一部分,Java 7 提供了对文件属性的完全控制。例如,可以使用 setPosixFilePermissions(), 对现有文件设置 POSIX 权限。或在文件创建时使用 createFile() 等方法自动创建或 newByteChannel().

您可以使用 EnumSet.of() 创建一组权限,但是辅助方法 PosixFilePermissions.fromString()将使用对许多开发人员来说更具可读性的传统格式。对于接受 FileAttribute 的 API,您可以使用 PosixFilePermissions.asFileAttribute(). 包装权限集

Set<PosixFilePermission> ownerWritable = PosixFilePermissions.fromString("rw-r--r--");
FileAttribute<?> permissions = PosixFilePermissions.asFileAttribute(ownerWritable);
Files.createFile(path, permissions);

在早期版本的 Java 中,使用您自己的 native 代码或 exec-ing 命令行实用程序是常见的方法。

关于java - 如何以编程方式更改文件权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/664432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com