一、使用java file类的方法

1. setExecutable设置可执行权限

1) setExecutable(boolean executable)
查看源码:

 public boolean setExecutable(boolean executable) {return setExecutable(executable, true);
}

因此,只需要搞懂 setExecutable(boolean executable, boolean ownerOnly)就可以了

2) setExecutable(boolean executable, boolean ownerOnly)
查看源码:

 public boolean setExecutable(boolean executable, boolean ownerOnly) {SecurityManager security = System.getSecurityManager();if (security != null) {security.checkWrite(path);}if (isInvalid()) {return false;}return fs.setPermission(this, FileSystem.ACCESS_EXECUTE, executable, ownerOnly);
}

参数:

  1. executable :设置访问权限,为true时允许执行的操作;false时不允许执行操作
  2. ownerOnly :设置权限控制对象, true–访问权限控制只针对文件的创建者,false–针对所有用户

因此 setExecutable(boolean executable) 为设置文件创建者的文件执行权限,setExecutable(boolean executable, boolean ownerOnly)为设置文件创建者或所有用户的文件执行权限

返回值:

  1. 如果操作成功此方法返回true,否则返回false。

2. setReadable 设置可读权限

1)setReadable(boolean readable)
查看源码:

public boolean setReadable(boolean readable) {return setReadable(readable, true);
}

同理,只需要搞懂 setReadable(boolean readable, boolean ownerOnly) 即可
2)setReadable(boolean readable, boolean ownerOnly)
查看源码:

public boolean setReadable(boolean readable, boolean ownerOnly) {SecurityManager security = System.getSecurityManager();if (security != null) {security.checkWrite(path);}if (isInvalid()) {return false;}return fs.setPermission(this, FileSystem.ACCESS_READ, readable, ownerOnly);
}

参数:

  1. readable : 设置文件是否可读,为true文件可读,为false文件不可读
  2. ownerOnly :设置可读权限控制对象, true–可读权限控制只针对文件的创建者,false–针对所有用户

因此 setReadable(boolean readable) 为设置文件创建者的文件可读权限,setReadable(boolean readable, boolean ownerOnly)为设置文件创建者或所有用户的文件可读权限

返回值:

  1. 如果操作成功此方法返回true,否则返回false。

3. setWritable 设置可写权限

1)setWritable(boolean writable)
查看源码:

public boolean setWritable(boolean writable) {return setWritable(writable, true);
}

同理,只需要搞懂 setWritable(boolean writable, boolean ownerOnly) 即可

2)setWritable(boolean writable, boolean ownerOnly)
查看源码:

public boolean setWritable(boolean writable, boolean ownerOnly) {SecurityManager security = System.getSecurityManager();if (security != null) {security.checkWrite(path);}if (isInvalid()) {return false;}return fs.setPermission(this, FileSystem.ACCESS_WRITE, writable, ownerOnly);
}

参数:

  1. writable: 设置文件是否可写,为true文件可写,为false文件不可写
  2. ownerOnly :设置可读权限控制对象, true–可读权限控制只针对文件的创建者,false–针对所有用户

因此 setWritable(boolean writable) 为设置文件创建者的文件可写权限,setWritable(boolean writable, boolean ownerOnly)为设置文件创建者或所有用户的文件可写权限

返回值:

  1. 如果操作成功此方法返回true,否则返回false。

4. 示例

try{String dcmPath = "文件路径";File file = new File(dcmPath);//设置可执行权限boolean exec= file.setExecutable(true,false);//设置可读权限boolean read= file.setReadable(true,false);//设置可写权限boolean write= file.setWritable(true,false);// 如果是设置文件输出后的权限,则需要在OutputStream 的write方法后设置
}catch(Exception e){log.error( ExceptionUtils.getStackTrace(e));
}

二、使用RunTime.getRuntime().exec() 调用服务器命令脚本

 String dcmPath = "/home/root/test.txt"Runtime runtime = Runtime.getRuntime();// 执行linux命令 chmod 777 filepath  为文件添加777权限runtime.exec(" chmod 777 "+ dcmPath );

注意事项:https://www.cnblogs.com/fclbky/p/6112180.html

java项目在linux环境中赋予新建文件777权限相关推荐

  1. Java项目在Linux环境使用aspose把word转pdf乱码问题

    Java项目在Linux环境使用aspose把word转pdf乱码问题 一.问题 在项目中有word转pdf并展示的功能,在本地的windows环境下没有问题.但是放在Linux中部署运行,生成的pd ...

  2. Avatarify-人脸驱动项目在Linux环境中的实现

    蚂蚁的牙是什么颜色的? ~ 黑色的! ~蚂蚁牙黑~  今年2月,"蚂蚁牙黑"一夜之间风靡各大社交平台,我们看到的视频都是通过手机软件Avatarify制作的,今天来聊一聊Githu ...

  3. linux用于在固定时间间隔启动,按固定时间间隔在Linux环境中运行java代码

    主要分两步:一.在Linux环境中一直运行一个线程.二.如何控制java代码同时执行多个工作线程. 一.可以用Linux中的  nohup 命令,控制该线程就算在终端被关闭或者账户退出之后,继续在后台 ...

  4. 就Java开发的Linux环境,进行完整版的安装,多适用于小白

    本篇博客就Java开发的Linux环境,进行完整版的安装,多适用于小白,当然接受大佬点评: 这是在全新的Linux centOS7.6的系统进行,安装手法以及命令都是根据过往个人操作手法以及经验学习而 ...

  5. python27怎么安装thrift解压包_Python在Linux环境中安装Thrift

    1.文件下载:thrift-0.11.0.tar.gz 个人网盘下载:链接:https://pan.baidu.com/s/1MXgx8LuN4wk7ssVUD9Wzaw  提取码:xw85 2. 将 ...

  6. Docker java项目发布/开发环境搭建

    Docker java项目发布/开发环境搭建 线上部署项目/开发环境搭建命令大全 关闭windows10 指定应用 安装Docker 安装 docker-compose 关于docker容器导致硬盘耗 ...

  7. Linux环境中Visual Studio Code的配置使用----编译运行C/C++(良心教程)

    之前的博文分享了下载安装[VS code]的详细教程, 有需要速戳–>Linux环境中Visual Studio Code 安装配置及其卸载(详细教程) 本篇博文分享本人初次使用[VS code ...

  8. Linux环境中Visual Studio Code 安装配置及其卸载(详细教程)

    两篇相关博文: 在VMware15中创建虚拟机安装ubuntu系统(超详细教程) Linux环境编译运行C/C++语言程序----配置gcc.g++(详细教程) 此篇分享我在linux环境下安装VS ...

  9. 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

最新文章

  1. 新手用python2还是3-Python 使用情况调查:2还是3?(附致歉声明)
  2. 并发设计模式之生产者消费者设计模式
  3. 将本地文件上传到gitlab上
  4. 设计模式学习笔记——装饰(Decorator)模式
  5. IBM Mainframe 基础知识学习 (EBCDIC,dsp3270)
  6. 最常用标准库函数 (转)
  7. JAVA 基础语法(一)——变量以及基本数据类型
  8. uva 11137 Ingenuous Cubrency
  9. MIPS指令 MIPS架构
  10. 如何批量将 jpg 图片转换为 png 格式
  11. 马云把码云封了,中国最大的男性交友网站无法访问!!!
  12. cannot import name '_validate_lengths' from 'numpy.lib.arraypad'
  13. Microsoft.Office.Interop.Word 分页操作(文本和表格分开)
  14. 平面设计中立体表现技法
  15. JavaSE阶段笔记
  16. nas java_小白入门NAS—快速搭建私有云教程系列(一)
  17. 对接支付宝App支付和网页支付接口详解
  18. gpu显示off_GPU常见故障及排查方法
  19. js网页动画,如何做一款高逼格不失真的动画
  20. MySQL 8.0.20 Window10免安装版配置及Navicat管理

热门文章

  1. Windows 10 启用windows功能.NET Framework3.5 时 windows无法完成请求的更改 错误代码:0x80072F8F解决方案
  2. java hessian 协议_hessian 协议 版本 兼容
  3. C++ 拷贝构造函数详解
  4. 关于Android BLE 连接状态133、22 、8的问题记录
  5. 电脑常识-远程桌面显示鼠标
  6. 计算机操作系统-文件(1)文件管理、文件的逻辑结构、文件目录
  7. EDA工具_命令001:ref_name与full_name
  8. ThinkPad T400 硬盘灯频繁闪烁
  9. 基于TPS2491的热插拔保护电路设计
  10. Burp Suite抓取手机流量