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

罗伊·里科(Roy Rico):

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

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

埃里克森:

作为“新” New IO工具(NIO.2)的一部分,Java 7中提供了对文件属性的完全控制例如,POSIX权限可以在与现有的文件设置setPosixFilePermissions()在文件创建与类似的方法或原子createFile()newByteChannel()

您可以使用来创建一组权限EnumSet.of(),但是helper方法PosixFilePermissions.fromString()将使用一种常规格式,该格式对于许多开发人员而言更易读。对于接受的API FileAttribute,您可以使用来包装权限集PosixFilePermissions.asFileAttribute()

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何以编程方式更改文件的图标?

如何以编程方式授予虚拟用户对文件夹(或文件)的权限

如何以编程方式更改XML值

如何以编程方式更改系统导航?

如何以编程方式更改mxCell值?

如何以编程方式更改Eclipse Preferences

如何以编程方式更改UIImageView的高度?

如何以编程方式更改飞行模式?

如何以编程方式更改PHP的日期?

如何以编程方式更改标签的字体?

如何以编程方式更改AppBar标题?

如何以编程方式更改形状颜色?

如何以编程方式更改EditText底线

如何以编程方式更改或更新NSLayoutConstraint

如何以编程方式更改片段的语言?

如何以编程方式更改ImageButton的大小?

如何以编程方式更改TabPageIndicator样式

如何以编程方式更改位图?

如何以编程方式更改画布的比例?

如何以编程方式知道文件/应用程序是否在Mac上包含某些转轮权限

如何以编程方式复制 Google Apps 脚本中文件绑定脚本的脚本权限?

如何以编程方式删除文件?

如何以编程方式生成.class文件?

如何以编程方式更新 .rgs 文件以反映在 IDL 文件中所做的更改?

如何以编程方式隐藏可绘制权限

如何以编程方式调用Windows权限对话框?

如何以编程方式在脚本中实现超级用户权限?

java-如何在更改文件权限之前以编程方式将用户更改为root?

如何以编程方式在Android中居中GridLayout(不更改xml文件)?