场景描述

这次也是工作中遇到的问题,多个用户要往同一个磁盘目录下写文件,该目录谁先用到谁创建。这就要求创建的目录是公共可写的,但java创建目录大都是 755 权限的,不满足要求。

解决办法

代码如下:

  @Testpublic void should_create_folder_with_permission() throws IOException {Set<PosixFilePermission> fullPermission = new HashSet<>();fullPermission.add(PosixFilePermission.OWNER_EXECUTE);fullPermission.add(PosixFilePermission.OWNER_READ);fullPermission.add(PosixFilePermission.OWNER_WRITE);fullPermission.add(PosixFilePermission.GROUP_EXECUTE);fullPermission.add(PosixFilePermission.GROUP_READ);fullPermission.add(PosixFilePermission.GROUP_WRITE);fullPermission.add(PosixFilePermission.OTHERS_EXECUTE);fullPermission.add(PosixFilePermission.OTHERS_READ);fullPermission.add(PosixFilePermission.OTHERS_WRITE);java.nio.file.Path path = Paths.get("/Users/mac/Downloads/output", "/primission2");try {Files.createDirectories(path, PosixFilePermissions.asFileAttribute(fullPermission));outputLS(path);Files.setPosixFilePermissions(path, fullPermission);outputLS(path);} catch (Exception e) {e.printStackTrace();}}private void outputLS(java.nio.file.Path path) throws IOException {System.out.println(new java.util.Scanner(Runtime.getRuntime().exec("ls -alt " + path.toAbsolutePath() + "/..").getInputStream()).useDelimiter("\\A").next());}

结果:

total 24
drwxr-xr-x   7 mac  staff   224 Aug 15 16:57 .
drwxr-xr-x   2 mac  staff    64 Aug 15 16:57 primission2
drwxr-xr-x   3 mac  staff    96 Aug 15 16:26 another
drwxr-xr-x@  4 mac  staff   128 Aug 15 16:16 20220815-041630
-rw-r--r--@  1 mac  staff    12 Aug 11 14:59 .S2101-20220103-reco-result006.txt.crctotal 24
drwxr-xr-x   7 mac  staff   224 Aug 15 16:57 .
drwxrwxrwx   2 mac  staff    64 Aug 15 16:57 primission2
drwxr-xr-x   3 mac  staff    96 Aug 15 16:26 another
drwxr-xr-x@  4 mac  staff   128 Aug 15 16:16 20220815-041630
-rw-r--r--@  1 mac  staff    12 Aug 11 14:59 .S2101-20220103-reco-result006.txt.crc

参考链接:https://stackoverflow.com/questions/41877638/java-unable-to-create-directory-with-777-permission-has-775-instead.

java 创建 777 权限的目录相关推荐

  1. java创建文件 权限_JAVA创建文件后权限不足的问题,无法设置权限的问题

    JAVA创建文件后权限不足的问题,无法设置权限的问题 凯哥java 凯哥java 前言: 在工作中,项目使用到文件上传,这个功能是很常见的吧.今天,凯哥修改自己的公众号的时候,遇到了一个问题:那就是上 ...

  2. 解决HDFS目录无法创建777权限

    通过API创建目录 检查目录权限 填坑思路 处理方法 (一) 通过API创建目录 用JAVA代码调用HADOOP API创建目录,代码如下: public class HdfsOps { /**    ...

  3. 目录授予777权限却还是无法进入的解决方案

    有时候面临这样一种情况,你用用户A登陆了,却要进入用户B拥有的某个目录,使用chmod 777 -R 目录 的方式,却仍然没有权限. 这时,你可以退出用户A,使用root对用户B的家目录即/home/ ...

  4. linux命令 创建目录权限,linux创建用户并设置目录权限

    [TOC] <linux创建用户并设置目录权限>首发牧马人博客转发请加此提示 常用命令 用户列表文件:/etc/passwd 用户组列表文件:/etc/group 查看系统中有哪些用户:c ...

  5. java给文件777权限_Linux常用命令:chmod修改文件权限 777和755分别是什么意思?

    文件或目录的权限 Linux系统中,每个用户的角色和权限划分的很细致也很严格,每个文件(目录)都设有访问许可权限,利用这种机制来决定某个用户通过某种方式对文件(目录)进行读.写.执行等操作. 操作文件 ...

  6. 云服务器文件777权限,云服务器目录权限设置

    云服务器目录权限设置 内容精选 换一换 执行chmod -R 777 / 导致CentOS云服务器根目录权限设置成777,系统中的大部分服务以及命令无法使用.此时可通过系统自带的getfacl命令来拷 ...

  7. java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题

    在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...

  8. java创建文件和目录

    [java] view plaincopy 创建文件和目录的关键技术点如下: [java] view plaincopy <pre name="code" class=&qu ...

  9. java上传文件怎么设置成777权限_777权限是什么意思?文件夹权限为777如何修改设置?...

    什么是777权限 777权限指的是当前用户可以对相应的文件进行读取.写入和执行的操作,我们建站的时候,有些用户没有对某个文件夹777权限,可能就会造成网站报错,无法正常执行.比如:网站的缓存文件夹,就 ...

最新文章

  1. 物体的三维识别与6D位姿估计:PPF系列论文介绍(五)
  2. npm install react-native-video --save
  3. mysql乐观锁总结和实践--转
  4. 分布式ELK日志采集系统
  5. 转lua解析脚本过程中的关键数据结构介绍
  6. 用python画皮卡丘-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘
  7. 用layui实现下拉框select多选,取值
  8. ojdbc7加入本地maven仓库
  9. Pda 数据库同步问题
  10. c语言常量printf,C语言常量和printf函数
  11. Box plot (箱线图) 解读以及Python实现
  12. 《东周列国志》第五十五回 华元登床劫子反 老人结草亢杜回
  13. 阿里云对象存储上传或复制文件时报The request signature we calculated does not match the signature you provided...
  14. matlab读取一幅灰度图,Matlab处理灰度图
  15. 你不屑于大器晚成,就只能平庸一生
  16. oracle+ebs+fsg报表,EBS 11i FSG报表用XML publish输出问题!!!!
  17. 上亿用户,如何高效统计独立用户访问量?
  18. php html注释多行,css多行注释怎么写
  19. 重力感应失灵/更新win10后不能自动旋转屏幕
  20. 极简风格的演讲型幻灯片设计

热门文章

  1. 数据备份一般有哪些方式,如何进行数据备份
  2. idea鼠标放大字体设置
  3. python class调用_python class中的方法调用
  4. JS十六进制,CRC冗余,小程序发送蓝牙数据,十六进制GBK编码转换等
  5. 2010年6月 工作 计划 发奋图钱 再接再厉
  6. 关于测试排期的那些事
  7. CSAPP第八、九章家庭作业(原书第二版)
  8. 个人永久性免费-Excel催化剂功能第34波-提取中国身份证信息、农历日期转换相关功能...
  9. 海克斯康三坐标模块化c语言编程,海克斯康三坐标编程手册_海克斯康三坐标教程...
  10. GR节点故障The member contains transactions not present in the group