java 创建 777 权限的目录
场景描述
这次也是工作中遇到的问题,多个用户要往同一个磁盘目录下写文件,该目录谁先用到谁创建。这就要求创建的目录是公共可写的,但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 权限的目录相关推荐
- java创建文件 权限_JAVA创建文件后权限不足的问题,无法设置权限的问题
JAVA创建文件后权限不足的问题,无法设置权限的问题 凯哥java 凯哥java 前言: 在工作中,项目使用到文件上传,这个功能是很常见的吧.今天,凯哥修改自己的公众号的时候,遇到了一个问题:那就是上 ...
- 解决HDFS目录无法创建777权限
通过API创建目录 检查目录权限 填坑思路 处理方法 (一) 通过API创建目录 用JAVA代码调用HADOOP API创建目录,代码如下: public class HdfsOps { /** ...
- 目录授予777权限却还是无法进入的解决方案
有时候面临这样一种情况,你用用户A登陆了,却要进入用户B拥有的某个目录,使用chmod 777 -R 目录 的方式,却仍然没有权限. 这时,你可以退出用户A,使用root对用户B的家目录即/home/ ...
- linux命令 创建目录权限,linux创建用户并设置目录权限
[TOC] <linux创建用户并设置目录权限>首发牧马人博客转发请加此提示 常用命令 用户列表文件:/etc/passwd 用户组列表文件:/etc/group 查看系统中有哪些用户:c ...
- java给文件777权限_Linux常用命令:chmod修改文件权限 777和755分别是什么意思?
文件或目录的权限 Linux系统中,每个用户的角色和权限划分的很细致也很严格,每个文件(目录)都设有访问许可权限,利用这种机制来决定某个用户通过某种方式对文件(目录)进行读.写.执行等操作. 操作文件 ...
- 云服务器文件777权限,云服务器目录权限设置
云服务器目录权限设置 内容精选 换一换 执行chmod -R 777 / 导致CentOS云服务器根目录权限设置成777,系统中的大部分服务以及命令无法使用.此时可通过系统自带的getfacl命令来拷 ...
- java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题
在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...
- java创建文件和目录
[java] view plaincopy 创建文件和目录的关键技术点如下: [java] view plaincopy <pre name="code" class=&qu ...
- java上传文件怎么设置成777权限_777权限是什么意思?文件夹权限为777如何修改设置?...
什么是777权限 777权限指的是当前用户可以对相应的文件进行读取.写入和执行的操作,我们建站的时候,有些用户没有对某个文件夹777权限,可能就会造成网站报错,无法正常执行.比如:网站的缓存文件夹,就 ...
最新文章
- 物体的三维识别与6D位姿估计:PPF系列论文介绍(五)
- npm install react-native-video --save
- mysql乐观锁总结和实践--转
- 分布式ELK日志采集系统
- 转lua解析脚本过程中的关键数据结构介绍
- 用python画皮卡丘-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘
- 用layui实现下拉框select多选,取值
- ojdbc7加入本地maven仓库
- Pda 数据库同步问题
- c语言常量printf,C语言常量和printf函数
- Box plot (箱线图) 解读以及Python实现
- 《东周列国志》第五十五回 华元登床劫子反 老人结草亢杜回
- 阿里云对象存储上传或复制文件时报The request signature we calculated does not match the signature you provided...
- matlab读取一幅灰度图,Matlab处理灰度图
- 你不屑于大器晚成,就只能平庸一生
- oracle+ebs+fsg报表,EBS 11i FSG报表用XML publish输出问题!!!!
- 上亿用户,如何高效统计独立用户访问量?
- php html注释多行,css多行注释怎么写
- 重力感应失灵/更新win10后不能自动旋转屏幕
- 极简风格的演讲型幻灯片设计
热门文章
- 数据备份一般有哪些方式,如何进行数据备份
- idea鼠标放大字体设置
- python class调用_python class中的方法调用
- JS十六进制,CRC冗余,小程序发送蓝牙数据,十六进制GBK编码转换等
- 2010年6月 工作 计划 发奋图钱 再接再厉
- 关于测试排期的那些事
- CSAPP第八、九章家庭作业(原书第二版)
- 个人永久性免费-Excel催化剂功能第34波-提取中国身份证信息、农历日期转换相关功能...
- 海克斯康三坐标模块化c语言编程,海克斯康三坐标编程手册_海克斯康三坐标教程...
- GR节点故障The member contains transactions not present in the group