【发布时间】:2015-06-21 20:38:21
【问题描述】:
情况是这样的。我正在创建一个 UI,它可以让遗传编程系统 (ECJ) 更易于使用。
目前您需要在 ECJ 文件夹中运行命令提示符,并使用与此类似的命令来执行参数文件。
java ec.Evolve -file ec\app\tutorial5\tutorial5.params
tutorial5的完整路径在哪里
C:\Users\Eric\Documents\COSC\ecj\ec\app\tutorial5\tutorial5.params
并且命令提示符必须从
执行C:\Users\Eric\Documents\COSC\ecj
我的程序让用户选择一个 .params 文件(位于 ecj 子目录中),然后使用 Runtime.exec() 执行
java ec.Evolve -file ec\app\tutorial5\tutorial5.params
到目前为止我有什么
// Command to be executed
String cmd = "cd " + ecjDirectory;
String cmd2 = "java ec.Evolve -file " + executeDirectory;
System.out.println(cmd);
try {
Process p = Runtime.getRuntime().exec(
new String[]{"cmd.exe", "/c", cmd, cmd2});
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
statusTF.append(r.readLine());
p.waitFor();
} catch (IOException | InterruptedException ex) {
System.out.println("FAILED: " + ex.getMessage());
statusTF.append("Failed\n");
}
目前它只输出更改目录命令,但没有别的。 这个可以吗?
【问题讨论】:
-
程序是否以错误结束或只是在 exec() 命令后挂起?
-
try 语句无错误结束
标签: java command prompt runtime.exec