我有一個命令行工具,我想從java應用程序啓動。然後我的應用程序應該等待命令行工具返回/完成。 我將在Windows,Mac和Linux上部署我的應用程序,我的應用程序應該能夠在每個平臺上調用命令行工具。 如何正確地從我的Java應用程序調用它?由java applciation調用命令行工具
3
A
回答
1
使用java.lang.Process中爲:
final Process process = Runtime.getRuntime().exec("yourprogram", null, outputDir);
final int exitCode = process.waitFor();
if (exitCode != 0) {
throw new RuntimeException("program didnt exit with 0, but with " + exitCode);
}
6
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Process.html
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
Process p = pb.start();
p.waitFor();
+1
我還建議閱讀並實施[Runtime.exec()不會]的所有建議](http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html) 。鏈接的文章在處理'Process'時覆蓋了常見的陷阱。 – 2011-03-29 09:28:04
0
可以使用Runtime
類來啓動命令行程序。您應該能夠在Win/Mac/Linux中使用,方法是確保您運行的命令行程序始終位於PATH中。
Runtime rt = Runtime.getRuntime();
Process proc;
proc = rt.exec(cmdName);
// Wait for the command to complete.
exitVal = proc.waitFor();
相關問題
- 1. 使用Ruby調用命令行工具
- 2. 運行命令行工具Java程序
- 3. 從java執行命令行工具因命令行而異?
- 4. Swift:命令行工具退出回調
- 5. Axis2:wsdl2java工具命令行
- 6. 命令行轉錄工具
- 7. 命令行STL卷工具
- 8. Java jdb遠程調試命令行工具
- 9. 如何命中由另一個工具調用的命令行工具中的斷點?
- 10. IE7 javascript命令行工具
- 11. Deflate命令行工具
- 12. AWS命令行工具破:(
- 13. ios SDK命令行工具
- 14. Nessus命令行工具
- 15. 從Gradle腳本調用命令行工具
- 16. 禁用命令行工具的終端
- 17. 命令行Java調試器
- 18. 使用XCode 5的命令行工具
- 19. 命令行工具不可用
- 20. 使用mysql命令行工具
- 21. 命令行工具/使用狀態
- 22. 分裂用命令行工具
- 23. 使用vim作爲命令行工具?
- 24. 如何使用curl命令行工具
- 25. ocr使用命令行工具
- 26. 調用java命令行應用程序
- 27. Flyway Java遷移不能在命令行工具中工作
- 28. 比較工具與命令行的mac
- 29. 從命令行調用快照(FastLane工具>快照)
- 30. 在Python和Ubuntu中調用命令行工具
它是一個單一的「命令行工具」,可用於所有操作系統或每個不同的工具? – 2011-03-29 09:25:57