我需要从我的Java程序执行批处理文件。我发现与此查询有关的多个线程。 Execute Batch File from Java我们如何从Java执行批处理文件
除了上述信息,我需要知道该操作是否成功执行。是否有可能得到来自Java的句柄?
我需要从我的Java程序执行批处理文件。我发现与此查询有关的多个线程。 Execute Batch File from Java我们如何从Java执行批处理文件
除了上述信息,我需要知道该操作是否成功执行。是否有可能得到来自Java的句柄?
Runtime.exec()和ProcessBuilder.start()都返回一个Process对象。
因此,您可以使用Process.getExitValue()。也就是说,我不知道shell的退出值是否与脚本相同。
使用java.lang.ProcessBuilder创建对批处理文件的调用。 Process对象将允许您监视批处理文件中的输出和退出代码。非零退出代码通常表示失败。
我认为这个线程应该解决我的问题http://stackoverflow.com/questions/2448402/run-bat-file-in-java-and-wait-2 – Apps 2011-04-01 03:23:27
您应该查看When Runtime.exec() won't。
我强烈推荐它。它可能会回答你的下一个4-5个问题。
很棒....这是非常有用的链接。 – Apps 2011-04-01 03:24:15
你应该真的检查Commons Exec。它将帮助您从批处理文件获取输出,并设置超时,甚至创建命令行。
我试过了。但是我在线程“main”java.lang.IllegalThreadStateException中得到以下exceptin.Exception:进程没有退出 \t at java.lang.ProcessImpl.exitValue(Native Method) \t at com.mt.test.TestClass2。主要(TestClass2.java:13) – Apps 2011-03-31 14:25:09
我认为这个线程应该解决我的问题http://stackoverflow.com/questions/2448402/run-bat-file-in-java-and-wait-2 – Apps 2011-03-31 14:28:04
检查出http:/ /download.oracle.com/javase/1.5.0/docs/api/java/lang/Process.html具体来说,方法waitFor()。 – DwB 2011-03-31 14:31:07