【问题标题】:Running Java program by a Java program [closed]通过Java程序运行Java程序[关闭]
【发布时间】:2016-02-07 16:32:38
【问题描述】:

我正在制作一个程序(3D Minesweeper),但在检测结果时遇到了问题。我尝试了单独的线程来等待结果,但它不起作用(只是没有)。所以我认为最简单的方法是拥有 2 个单独的程序(不是问题),其中一个运行另一个(使用 args,1.problem)并获取它的 System.exit();(2.problem) 返回的值。 我找到了一些解决第一个问题的例子,但不是第二个问题。有没有合适的方法,或者我必须将结果写入文件或其他东西? 顺便说一句,请随意纠正语法,我只是在学习XD。

【问题讨论】:

  • 请输入一些代码。
  • 另外,定义“不起作用”。上次我检查时,运行线程确实在 Java 中工作:)
  • 你的第一个解决方案(使用线程)几乎肯定会比尝试做一些疯狂的事情来启动另一个完整的过程更简单、更快、更易于维护。出示您的代码,我们将为您提供帮助。
  • 好吧,另一个线程导致游戏 JFrame 显示为空并且没有响应

标签: java swing jar system.exit


【解决方案1】:

如果您使用System.exec () 运行程序,则查看waitFor () 的返回值是否为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 ());

【讨论】:

  • 谢谢你,这正是我所需要的,当我得到 15 个代表时,你有一个支持 XD
  • 我找不到正确的命令,文件在 C:\Data\Patrik\Documents\Eclipse\Minesweeper3D 中,名为 GameWindow.jar
【解决方案2】:

从第二个程序启动第一个程序并获取退出值。

进程 myProcess = Runtime.getRuntime().exec(command);

int exitValue= myProcess.exitValue();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 2013-10-17
    • 2012-04-21
    相关资源
    最近更新 更多