java运行shell命令,chmod 777 xxx,改变权限无效的解决的方法。
2017-04-28 21:32
861 查看
在java程序中运行shell命令,改变文件的权限。能够在命令行中运行
来改变权限,可是在java代码中运行这个命令时使用
相同无效
最后通过实例化一个dataoutputstream对象,在这个对象的写字节方法里写命令才实现,代码例如以下:
chmod 777 <span style="font-family: Arial, Helvetica, sans-serif;">/data/misc/123.sh"</span>
来改变权限,可是在java代码中运行这个命令时使用
Runtime.getRuntime().exec("chmod 777 /data/misc/123.sh");无效,使用
String[] command = new String[] {"/system/bin/sh","-c","chmod 777 /data/misc/123.sh"}; Runtime.getRuntime().exec(command);
相同无效
最后通过实例化一个dataoutputstream对象,在这个对象的写字节方法里写命令才实现,代码例如以下:
String[] commands = new String[] { "/system/bin/sh", "-c", "chmod -R 777 /data/misc/123.sh" }; Process process = null; DataOutputStream dataOutputStream = null; try { process = Runtime.getRuntime().exec("su"); dataOutputStream = new DataOutputStream(process.getOutputStream()); int length = commands.length; for (int i = 0; i < length; i++) { dataOutputStream.writeBytes(commands[i] + "\n"); } dataOutputStream.writeBytes("exit\n"); dataOutputStream.flush(); process.waitFor(); } catch (Exception e) { } finally { try { if (dataOutputStream != null) { dataOutputStream.close(); } process.destroy(); } catch (Exception e) { } }
相关文章推荐
- java执行shell命令,chmod 777 xxx,改变权限无效的解决办法。
- 在centos中运行java命令时出现Error: Could not find or load main class XXX问题的解决方法
- 命令chmod 777 tt.htm,结果是 -rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 tt.htm 任何人都有读、写、运行三项权限。
- 执行命令mm出错以及运行adb shell出现insufficient permissions for device错误的解决方法
- dedecms织梦安装后COMMON.INC.PHP 文件权限777属性修改无效的解决方法
- 基于shell脚本中cd命令无效的解决方法
- windows安装cygwin运行shell脚本 $'\r': 未找到命令的解决方法
- java jar包命令行下可以双击不运行解决方法(改变java默认图标)
- 解决运行Java项目出现错误 error:java: 无效的源发行版: 8解决方法
- CM安装好集群之后在shell命令下执行hive 或者hbase操作遇到权限问题的解决方法
- java命令无法运行class的解决方法
- jetty java文件无法删除 java文件占用 delete无效 运行时锁定静态资源的解决方法
- 解决ubuntu sudo 命令无效的方法
- java程序中运行shell命令
- 无法获取IP地址,运行“ipconfig/renew”命令后提示“RPC服务器不可用”的解决方法
- Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法
- MS-sql 2005拒绝了对对象 ''xxx'' (数据库 ''xxx'',架构 ''dbo'')的 SELECT 权限的解决方法
- windows7系统有很多命令在命令行模式下运行,提示没有管理员权限,解决办法
- ubuntu下chsh命令无法改变默认shell的问题(已解决)
- 《Thinking in Java》RMI远程方法示例代码运行是可能遇到的问题及解决方法