当我尝试执行终端命令时,Java程序就停止了

时间:2017-02-09 03:37:52

标签: java intellij-idea methods

我试图用java编写我的第一个程序。它的目的是root和unroot我的Nexus 6P,我可以使用adb和fastboot在终端中完成所有操作,但是我想制作一个我可以运行的程序,并提供各种菜单。我找到了一种执行命令的方法,它可以是批处理,也可以是bash(我同时使用Windows和Linux)。我的主要课程是

class main{

public static void main(String[] args){

    String version = "0.0.1";
    String commandIn = "adb";
    int OSType = OSValidator.sys();


    ExecuteShellCommand.main(commandIn);



    System.out.println("Welcome to Nexus Tools: " + version);
    System.out.println("This program will help you Root and UnRoot your Google Nexus 6P");

它不会超过它只是停止的ExecuteShellCommand

以下是我在网上找到并略微更改的ExecuteShellCommand课程

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class ExecuteShellCommand {

public static void main(String inputCommand) {

    ExecuteShellCommand obj = new ExecuteShellCommand();

    String command = inputCommand;

    String output = obj.executeCommand(command);

    System.out.println(output);

}

private String executeCommand(String command) {

    StringBuffer output = new StringBuffer();

    Process p;
    try {
        p = Runtime.getRuntime().exec(command);
        p.waitFor();
        BufferedReader reader =
                new BufferedReader(new InputStreamReader(p.getInputStream()));

        String line = "";
        while ((line = reader.readLine())!= null) {
            output.append(line + "\n");
        }

    } catch (Exception e) {
        e.printStackTrace();
    }

    return output.toString();

}

}
该计划刚刚停止,我不知道哪里出错了。

0 个答案:

没有答案