[Java]设置Linux文件权限(原生和调用外部命令方式)

2021-06-13 1591点热度 0人点赞 0条评论

Java设置Linux下的文件权限,相当于Linux的命令:chmod 755 /path/to/file

有两种方式

调用Linux外部命令

chmod 666 /path/to/file,Java下调用外部命令的详见:

https://blog.terrynow.com/2020/12/28/java-exec-linux-command/

原生Java代码实现设置权限

public static void setPermission(File file) {
    Path path = file.toPath();
    try {
        Set<PosixFilePermission> perms = Files.readAttributes(path, PosixFileAttributes.class).permissions();
        // chmod 666 /path/to/file
        perms.add(PosixFilePermission.OWNER_WRITE);//文件所有者可写
        perms.add(PosixFilePermission.OWNER_READ);//文件所有者可读
//            perms.add(PosixFilePermission.OWNER_EXECUTE);//文件所有者可执行
        perms.add(PosixFilePermission.GROUP_WRITE);// 群组权限
        perms.add(PosixFilePermission.GROUP_READ);
        perms.add(PosixFilePermission.OTHERS_WRITE);//Other权限
        perms.add(PosixFilePermission.OTHERS_READ);
        Files.setPosixFilePermissions(path, perms);
    } catch (IOException ignored) {
    }
}

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论