首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 6:创建文件持久化原始权限的修改副本

Java 6:创建文件持久化原始权限的修改副本
EN

Stack Overflow用户
提问于 2016-03-21 22:10:40
回答 1查看 83关注 0票数 0

我正在从输入目录中读取文件,修改其中的一些内容并将其写入输出目录。问题是,在输出目录中,我拥有所有文件。是否有方法对此过程进行处理,以便输出文件与原始文件以及所有者和组具有完全相同的权限。

谢谢,

亚历克斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-21 22:20:08

根据原始文件,您可以知道所需的权限。对于新文件,使用File.setReadable(布尔可读的)setWriteable()setExecutable() API设置新文件的权限,使其与原始文件的权限完全相同。

编辑:备注。这是>= 7,要设置一个文件的所有perms (类似于chmod),请转到文件。有一种方法setPosixFilePermissions(.)。您需要从java.nio.file.*导入三个相关的类

我就这么用过.

代码语言:javascript
复制
    Set<PosixFilePermission> filePermission = new HashSet<PosixFilePermission>();

    // OWNER rwe --- ---
    filePermission.add(PosixFilePermission.OWNER_READ);
    filePermission.add(PosixFilePermission.OWNER_WRITE);
    filePermission.add(PosixFilePermission.OWNER_EXECUTE);

    // GROUP --- rwe ---
    filePermission.add(PosixFilePermission.GROUP_READ);
    filePermission.add(PosixFilePermission.GROUP_WRITE);
    filePermission.add(PosixFilePermission.GROUP_EXECUTE);

    // GLOBAL --- --- rwe
    filePermission.add(PosixFilePermission.OTHERS_READ);
    filePermission.add(PosixFilePermission.OTHERS_WRITE);
    filePermission.add(PosixFilePermission.OTHERS_EXECUTE);

    Files.setPosixFilePermissions(Paths.get("{PATH_TO_FILE}"), filePermission);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36142587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档