【发布时间】:2012-08-16 22:19:15
【问题描述】:
No errors 没有输出,不明白哪里出错了。
String[] commands = new String[] {"maude", "in 1.maude", "red f(a, b, e) ."};
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(commands);
InputStream stdin = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stdin);
BufferedReader br = new BufferedReader(isr);
String line = br.readLine();
while ( (line = br.readLine()) != null) {
jTextArea4.append(line + "\n");
}
最初,我有一个字符串数组,第一个运行 Maude 控制台,第二个是 Maude 控制台的命令,它说明我们感兴趣的模块(文件)是什么(要加载什么文件),以及最后一个是检查 Maude 模块中某些属性的实际命令!
【问题讨论】:
-
您必须通过“cmd”处理器运行命令吗?不能直接执行命令吗??
-
你也尊重 pg Swing 的线程规则吗?您是否将字符串打印到控制台以测试程序是否正常工作?
-
好吧,最后两个命令用于 Maude 控制台。如果分步描述,我们先打开CommandPrompt,然后通过传递*.exe的位置给它运行Maude Console,在控制台加载之后我们可以给它一个加载命令,比如“load or in 1.maude” “1.maude”-是模块(文件)的名称,文件加载后我们现在可以检查安全属性(上面给出的代码中的最后一个命令)
-
我试图用
System.out.println(line);替换jTextArea4.append(line + "\n");并且它一直运行到 Maude 控制台的欢迎标签,所以似乎 Maude 控制台不接受或完全忽略其余的命令
标签: java swing runtime processbuilder