为了账号安全,请及时绑定邮箱和手机立即绑定

求问在linux环境下,Java生成文件并赋予权限的问题!

求问在linux环境下,Java生成文件并赋予权限的问题!

泛舟湖上清波郎朗 2022-04-03 11:10:53
try {//step1.1生成文件确认路径dir = new File(ConstantsUtil.quotes_path);if (!dir.exists())dir.mkdirs();//step1.2确认生成文件_fPath =new File(dataFilePath);if(!_fPath.exists())_fPath.createNewFile();_fPath.setReadable(true, false);_fPath.setWritable(true, false);Runtime.getRuntime().exec(new String[]{ "chmod -R 777 " , dataFilePath});//step1.3 写入数据fos=new FileOutputStream(_fPath);osw=new OutputStreamWriter(fos,"UTF-8");osw.write("//staticDate="+ DateUtil.getToday() +" \n");osw.write("[");。。。这是生成文件的代码片段,window下没问题 到了linux下生成的文件该写的都写了 怎么linux下的文件还是没有权限?
查看完整描述

3 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

java 处理一些通用的权限

1、在java中,文件的权限对于不同的操作系统有不同的权限。 java 处理一些通用的权限。

2、检查文件是否允许:

file.canExecute(); – return true, file is executable; false is not.

file.canWrite(); – return true, file is writable; false is not.

file.canRead(); – return true, file is readable; false is not.

3、设置文件权限:

file.setExecutable(boolean); – true, allow execute operations; false to disallow it.

file.setReadable(boolean); – true, allow read operations; false to disallow it.

file.setWritable(boolean); – true, allow write operations; false to disallow it.

4、在*nix系统中,你可能需要配置更加明确的文件权限,如设置某个文件的权限为777.但是,java IO类没有相关方法。

Runtime.getRuntime()。exec("chmod 777 file");


查看完整回答
反对 回复 2022-04-07
?
守候你守候我

TA贡献1802条经验 获得超10个赞

你要这样写
Runtime.getRuntime().exec(new StringBuilder().append("chmod -R 777 ").append(dataFilePath).toString());
我测试过了,可以的

查看完整回答
反对 回复 2022-04-07
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

chmod -R 777 文件名 这个命令错了吧?
应该直接 chmod 777 文件名

查看完整回答
反对 回复 2022-04-07
  • 3 回答
  • 0 关注
  • 380 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号