Java 使用命令行参数执行外部程序

Java 使用命令行参数执行外部程序,java,command,external,args,Java,Command,External,Args,我需要我的程序执行一个带有命令行args的程序,然后返回程序给出的输出 我已经完成了这一步,但我还没有完全弄清楚如何将命令行args输入 private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) { try { appendLog("### Command # reboot ###");

我需要我的程序执行一个带有命令行args的程序,然后返回程序给出的输出

我已经完成了这一步,但我还没有完全弄清楚如何将命令行args输入

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
            appendLog("### Command # reboot ###");
            process = new ProcessBuilder(adb.toString() + "reboot");
            process.redirectErrorStream(true);
            Process pr = process.start();

            InputStream stream = pr.getInputStream();
            InputStreamReader streamReader = new InputStreamReader(stream);
            BufferedReader reader = new BufferedReader(streamReader);

            String line;
            int exit = -1;

            while ((line = reader.readLine()) != null) {
                appendLog("### ADB output # Command: reboot ###\n" + line);
                exit = pr.exitValue();
                if (exit == 0) {
                    appendLog("### Process finished # Command: reboot ###\n");
                }
            }
        } catch (Exception ex) {
            appendLog("### ERROR:\n" + ex + " ###");
            appendLog("### Process finished # Command: reboot ###\n");
        }
    }

非常感谢您对此事的任何帮助。:)

ProcessBuilder
将varargs(未定义的参数数量)作为参数,其中第一个参数是要执行的命令(在您的情况下为adb),后面是参数。 例如,其中
adb.toString()
是adb的完整路径:

process = new ProcessBuilder(adb.toString(), "reboot");