当前位置:  开发笔记 > 编程语言 > 正文

Java - 无法创建具有777权限的目录(而不是775)

如何解决《Java-无法创建具有777权限的目录(而不是775)》经验,为你挑选了0个好方法。

我正在尝试使用公共写权限创建目录.为了简化我希望它拥有777权限的东西.这是我的代码:

private static FileAttribute> DIR_PERMISSIONS;
static {
    Set perms = new HashSet<>();
    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);
    DIR_PERMISSIONS = PosixFilePermissions.asFileAttribute(perms);
}

private Path ensurePath(LocalDate localDate) throws IOException {
    String year = String.valueOf(localDate.getYear());
    String month = String.format("%02d", localDate.getMonthValue());
    Path path = Paths.get(rootDirectory, year, month);
    return Files.createDirectories(path, DIR_PERMISSIONS);
}

有了rootDirectory=/tmp/data这应该创建文件夹一样/tmp/data/2016/01,各有777权限.相反,文件夹具有775权限(drwxrwxr-x.),因此它们缺少公共写入.为什么这样工作?也许JVM需要特殊的参数才能设置这样的权限?我的系统是Fedora 24,app是标准的Spring Boot应用程序,由maven插件启动.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有