运行 Java 程序由 Java 程序
Running Java program by a Java program
我正在制作一个程序(3D 扫雷),但我在检测结果时遇到了问题。我尝试了单独的线程来等待结果,但它不起作用(只是没有)。所以我认为最简单的方法是拥有 2 个单独的程序(不是问题),其中一个运行另一个(带有 args,1.problem)并获取它返回的值 System.exit();(2.problem).
我找到了一些解决第一个问题但不是第二个问题的例子。有没有正确的方法,或者我是否必须将结果写入文件或其他东西?
顺便说一句,随时纠正语法,我只是在学习 XD。
如果您使用 System.exec ()
到 运行 程序,请查看 waitFor ()
的 return 值 Process
Process p = Runtime.getRuntime().exec("cmd /C dir");
int rc = p.waitFor ();
System.out.println ("Exit code is " + rc);
你也可以看看进程的exitValue ()
,但是你必须确定程序已经运行完成才可靠。
Process p = Runtime.getRuntime().exec("cmd /C dir");
p.waitFor (); // make sure we run to completion
System.out.println ("Exit code is " + p.exitValue ());
从第二个程序开始第一个程序并获取退出值。
进程 myProcess = Runtime.getRuntime().exec(命令);
int exitValue= myProcess.exitValue();
我正在制作一个程序(3D 扫雷),但我在检测结果时遇到了问题。我尝试了单独的线程来等待结果,但它不起作用(只是没有)。所以我认为最简单的方法是拥有 2 个单独的程序(不是问题),其中一个运行另一个(带有 args,1.problem)并获取它返回的值 System.exit();(2.problem). 我找到了一些解决第一个问题但不是第二个问题的例子。有没有正确的方法,或者我是否必须将结果写入文件或其他东西? 顺便说一句,随时纠正语法,我只是在学习 XD。
如果您使用 System.exec ()
到 运行 程序,请查看 waitFor ()
的 return 值 Process
Process p = Runtime.getRuntime().exec("cmd /C dir");
int rc = p.waitFor ();
System.out.println ("Exit code is " + rc);
你也可以看看进程的exitValue ()
,但是你必须确定程序已经运行完成才可靠。
Process p = Runtime.getRuntime().exec("cmd /C dir");
p.waitFor (); // make sure we run to completion
System.out.println ("Exit code is " + p.exitValue ());
从第二个程序开始第一个程序并获取退出值。
进程 myProcess = Runtime.getRuntime().exec(命令);
int exitValue= myProcess.exitValue();