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