我需要一种与我的Java应用程序中具有命令行界面的外部工具进行通信的方法。有没有方便的工具/库让它减少痛苦?相信我,我已经足够google了。谢谢!
答案 0 :(得分:3)
您可以使用Runtime.exec()
执行操作系统的外部命令。但是,请注意使用它的问题 - 请务必先阅读此article。
如果您的需求过于简单,请查看ProcessBuilder。它自Java 1.5起可用,来自release notes:
与Runtime.exec相比,新的ProcessBuilder类提供了一种更方便的方法来调用子进程。特别是,ProcessBuilder可以轻松启动具有修改过程环境的子流程(即,基于父流程环境的流程环境,但只需进行一些更改)。
答案 1 :(得分:0)
我最终使用来自Intellij IDEA平台API的进程处理程序(更具体地说,com.intellij.execution.process.OSProcessHandler)编写我自己的基于命令的小框架,其中每个命令都知道如何执行自身(写)并解析进程的响应(读)。