linux环境下 Java生成文件并赋予权限的问题
//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下的文件还是没有权限? 展开
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");
Runtime.getRuntime().exec(new StringBuilder().append("chmod -R 777 ").append(dataFilePath).toString());
我测试过了,可以的
应该直接 chmod 777 文件名
2014-11-07
root用户登录,上传至linux目录 weblogic部署 生成的文件位于linux的一个目录下
weblogic的运行用户是root么?