我想使用java给chmod 700一个文件的权限。
我使用的代码
Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
perms.add(PosixFilePermission.OWNER_EXECUTE);
//add group permissions
perms.add(PosixFilePermission.GROUP_READ);
perms.add(PosixFilePermission.GROUP_WRITE);
perms.add(PosixFilePermission.GROUP_EXECUTE);
Path FilePathObject = Paths.get(fileDir.toString(),"fileRun.sh");
Files.setPosixFilePermissions(FilePathObject, perms);
但它没有正确设置权限 -
drwxrwsr-x 4 user group 94 Aug 12 05:45 scriptconfig
我也试过这段代码来设置700权限 -
txtFilePath.toFile().setExecutable(false,true);
txtFilePath.toFile().setReadable(false, true);
txtFilePath.toFile().setWritable(false,true);
但这也不符合预期。我们是否有任何可以设置这些权限的东西。
答案 0 :(得分:1)
只需尝试
txtFilePath.toFile().setExecutable(true);
txtFilePath.toFile().setReadable(true);
txtFilePath.toFile().setWritable(true);
否则你可以查看下面的
答案 1 :(得分:-1)
如果您想为文件授予770权限,此代码将正常工作 -
Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
perms.add(PosixFilePermission.OWNER_EXECUTE);
//add group permissions
perms.add(PosixFilePermission.GROUP_READ);
perms.add(PosixFilePermission.GROUP_WRITE);
perms.add(PosixFilePermission.GROUP_EXECUTE);
Path FilePathObject = Paths.get(fileDir.toString(),"fileRun.sh");
Files.setPosixFilePermissions(FilePathObject, perms);
注意:您必须在执行给定之前创建目录 命令然后只有它将工作否则将创建目录 具有默认权限。
首先创建目录,然后使用
Java 1.7中引入的PosixFilePermission API。
`