public class shell {
    static void shell(String sh) throws Exception {
        try{
            Process su = Runtime.getRuntime().exec("su");
            DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());

            outputStream.writeBytes(sh+"\n");
            outputStream.flush();

            outputStream.writeBytes("exit\n");
            outputStream.flush();
            su.waitFor();
        }catch(IOException e){
            throw new Exception(e);
        }catch(InterruptedException e){
            throw new Exception(e);
        }
    }

    static void shell(String[] sh) throws Exception {
        try{
            Process su = Runtime.getRuntime().exec("su");
            DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());

            for(String str : sh){
                outputStream.writeBytes(str+"\n");
            }
            outputStream.flush();

            outputStream.writeBytes("exit\n");
            outputStream.flush();
            su.waitFor();
        }catch(IOException e){
            throw new Exception(e);
        }catch(InterruptedException e){
            throw new Exception(e);
        }
    }
}
//调用:
try {
     shell.shell(new String[]{"echo hello","echo world"});
   shell.shell("echo 'hello world'");
} catch (Exception e) { e.printStackTrace(); }

 

 posted on 2022-08-29 13:38  laremehpe  阅读(149)  评论(0编辑  收藏  举报