我需要我的程序用命令行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");
}
}
非常感谢任何有关此事的帮助。 :)
答案 0 :(得分:1)
ProcessBuilder
作为参数varargs(未定义的参数个数),其中第一个参数是要执行的命令(在您的情况下为adb),后跟参数。
所以,类似于adb.toString()
是adb的完整路径:
process = new ProcessBuilder(adb.toString(), "reboot");