java项目在linux环境中赋予新建文件777权限
一、使用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);
}
参数:
- executable :设置访问权限,为true时允许执行的操作;false时不允许执行操作
- ownerOnly :设置权限控制对象, true–访问权限控制只针对文件的创建者,false–针对所有用户
因此 setExecutable(boolean executable) 为设置文件创建者的文件执行权限,setExecutable(boolean executable, boolean ownerOnly)为设置文件创建者或所有用户的文件执行权限
返回值:
- 如果操作成功此方法返回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);
}
参数:
- readable : 设置文件是否可读,为true文件可读,为false文件不可读
- ownerOnly :设置可读权限控制对象, true–可读权限控制只针对文件的创建者,false–针对所有用户
因此 setReadable(boolean readable) 为设置文件创建者的文件可读权限,setReadable(boolean readable, boolean ownerOnly)为设置文件创建者或所有用户的文件可读权限
返回值:
- 如果操作成功此方法返回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);
}
参数:
- writable: 设置文件是否可写,为true文件可写,为false文件不可写
- ownerOnly :设置可读权限控制对象, true–可读权限控制只针对文件的创建者,false–针对所有用户
因此 setWritable(boolean writable) 为设置文件创建者的文件可写权限,setWritable(boolean writable, boolean ownerOnly)为设置文件创建者或所有用户的文件可写权限
返回值:
- 如果操作成功此方法返回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权限相关推荐
- Java项目在Linux环境使用aspose把word转pdf乱码问题
Java项目在Linux环境使用aspose把word转pdf乱码问题 一.问题 在项目中有word转pdf并展示的功能,在本地的windows环境下没有问题.但是放在Linux中部署运行,生成的pd ...
- Avatarify-人脸驱动项目在Linux环境中的实现
蚂蚁的牙是什么颜色的? ~ 黑色的! ~蚂蚁牙黑~ 今年2月,"蚂蚁牙黑"一夜之间风靡各大社交平台,我们看到的视频都是通过手机软件Avatarify制作的,今天来聊一聊Githu ...
- linux用于在固定时间间隔启动,按固定时间间隔在Linux环境中运行java代码
主要分两步:一.在Linux环境中一直运行一个线程.二.如何控制java代码同时执行多个工作线程. 一.可以用Linux中的 nohup 命令,控制该线程就算在终端被关闭或者账户退出之后,继续在后台 ...
- 就Java开发的Linux环境,进行完整版的安装,多适用于小白
本篇博客就Java开发的Linux环境,进行完整版的安装,多适用于小白,当然接受大佬点评: 这是在全新的Linux centOS7.6的系统进行,安装手法以及命令都是根据过往个人操作手法以及经验学习而 ...
- python27怎么安装thrift解压包_Python在Linux环境中安装Thrift
1.文件下载:thrift-0.11.0.tar.gz 个人网盘下载:链接:https://pan.baidu.com/s/1MXgx8LuN4wk7ssVUD9Wzaw 提取码:xw85 2. 将 ...
- Docker java项目发布/开发环境搭建
Docker java项目发布/开发环境搭建 线上部署项目/开发环境搭建命令大全 关闭windows10 指定应用 安装Docker 安装 docker-compose 关于docker容器导致硬盘耗 ...
- Linux环境中Visual Studio Code的配置使用----编译运行C/C++(良心教程)
之前的博文分享了下载安装[VS code]的详细教程, 有需要速戳–>Linux环境中Visual Studio Code 安装配置及其卸载(详细教程) 本篇博文分享本人初次使用[VS code ...
- Linux环境中Visual Studio Code 安装配置及其卸载(详细教程)
两篇相关博文: 在VMware15中创建虚拟机安装ubuntu系统(超详细教程) Linux环境编译运行C/C++语言程序----配置gcc.g++(详细教程) 此篇分享我在linux环境下安装VS ...
- 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...
最新文章
- 新手用python2还是3-Python 使用情况调查:2还是3?(附致歉声明)
- 并发设计模式之生产者消费者设计模式
- 将本地文件上传到gitlab上
- 设计模式学习笔记——装饰(Decorator)模式
- IBM Mainframe 基础知识学习 (EBCDIC,dsp3270)
- 最常用标准库函数 (转)
- JAVA 基础语法(一)——变量以及基本数据类型
- uva 11137	Ingenuous Cubrency
- MIPS指令 MIPS架构
- 如何批量将 jpg 图片转换为 png 格式
- 马云把码云封了,中国最大的男性交友网站无法访问!!!
- cannot import name '_validate_lengths' from 'numpy.lib.arraypad'
- Microsoft.Office.Interop.Word 分页操作(文本和表格分开)
- 平面设计中立体表现技法
- JavaSE阶段笔记
- nas java_小白入门NAS—快速搭建私有云教程系列(一)
- 对接支付宝App支付和网页支付接口详解
- gpu显示off_GPU常见故障及排查方法
- js网页动画,如何做一款高逼格不失真的动画
- MySQL 8.0.20 Window10免安装版配置及Navicat管理
热门文章
- Windows 10 启用windows功能.NET Framework3.5 时 windows无法完成请求的更改 错误代码:0x80072F8F解决方案
- java hessian 协议_hessian 协议 版本 兼容
- C++ 拷贝构造函数详解
- 关于Android BLE 连接状态133、22 、8的问题记录
- 电脑常识-远程桌面显示鼠标
- 计算机操作系统-文件(1)文件管理、文件的逻辑结构、文件目录
- EDA工具_命令001:ref_name与full_name
- ThinkPad T400 硬盘灯频繁闪烁
- 基于TPS2491的热插拔保护电路设计
- Burp Suite抓取手机流量