我需要從我的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