Java设置文件权限

今天遇到一个问题:

  java写的API,ppt转图片生成的目录及文件

  在使用php调用API完成后,再使用php进行删除时,遇到了删除失败的问题(php删除的部分  查看

  部署的环境是Ubuntu

导致删除失败的原因是权限的问题,因此如何修改权限呢?

java.nio.file.Files包含一个方法setPosixFilePermissions(Path path,Set <PosixFilePermission> perms)可用于设置文件权限

PosixFilePermission枚举类型定义九个常量,每个权限组件一个

九个常数命名为X_Y,其中X是OWNER,GROUP和OTHERS,Y是READ,WRITE和EXECUTE

复制代码
private void changeFolderPermission(File dirFile){
        Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
        perms.add(PosixFilePermission.OWNER_READ);
        perms.add(PosixFilePermission.OWNER_WRITE);
        perms.add(PosixFilePermission.OWNER_EXECUTE);
        perms.add(PosixFilePermission.GROUP_READ);
        perms.add(PosixFilePermission.GROUP_WRITE);
        perms.add(PosixFilePermission.GROUP_EXECUTE);
        perms.add(PosixFilePermission.OTHERS_READ);
        perms.add(PosixFilePermission.OTHERS_WRITE);
        perms.add(PosixFilePermission.OTHERS_EXECUTE);
        try {
            Path path = Paths.get(dirFile.getAbsolutePath());
            Files.setPosixFilePermissions(path, perms);
        } catch (Exception e) {
            logger.info("Change folder " + dirFile.getAbsolutePath() + " permission failed.", e);
        }
    }
复制代码

那文件所有者及其权限如何修改呢?  查看

posted @   慕尘  阅读(977)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示