Java修改Linux系统的文件权限

Java修改Linux系统的文件权限,第1张

文章目录

之所以写这篇文章是因为,最一开始是直接用输出流生成文件,然后用Runtime.getRuntime().exec("chmod 777 " + xml);将文件授权,因为文件要通过ftp获取,所以用这种方式一开始一直获取不到,然后用命令获取生成的文件是可以的,经检查,生成文件后,虽然执行修改文件权限的代码,但是文件的权限没有及时生效,过了几十秒才会生效,所以当拉取时不会拉取到,所以有了下面的方案,先生成文件,使用下面的方式修改文件的权限,然后再在文件中添加内容,文件获取不到的问题解决

Document doc = new Document(aid);
Format format = Format.getCompactFormat();
format.setEncoding("UTF-8");
format.setIndent(" ");

String name = programCode;
out = new XMLOutputter(format);

String xmlPath = ; // 文件路径
File file = new File(xmlPath);
file.createNewFile();
file.setReadable(true);
// 下面的是设置权限的重点
Path path = Paths.get(xmlPath);

Set perms = Files.readAttributes(path, PosixFileAttributes.class).permissions();
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.GROUP_EXECUTE);
perms.add(PosixFilePermission.OTHERS_WRITE);
perms.add(PosixFilePermission.OTHERS_READ);
perms.add(PosixFilePermission.OTHERS_EXECUTE);
Files.setPosixFilePermissions(path, perms);

FileOutputStream fileOutputStream = new FileOutputStream(file,true);
out.output(doc, fileOutputStream);
fileOutputStream.close();

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/924047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存