java执行shell命令权限不够 您所在的位置:网站首页 linux运行sh脚本命令权限不够 java执行shell命令权限不够

java执行shell命令权限不够

2024-07-07 17:42| 来源: 网络整理| 查看: 265

在java程序中执行shell命令,改变文件的权限,可以在命令行中执行

chmod 777 /data/misc/123.sh"

来改变权限,但是在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) {

}

}

时间: 06-10



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有