我有两个程序a.jar和b.jar,b.jar是一个我无法更改的控制台应用程序,a.jar是一个需要向b.jar发送命令的gui应用程序,然后将被解释那里。 a.jar还需要接收b.jar的输出。我通常在命令提示符下运行b.jar并输入程序的命令以在命令提示符下运行,并且它会响应。我想使用a.jar来启动,收听和交谈(发送命令)b.jar
答案 0 :(得分:0)
也许你可以使用a.jar写和b.jar只读的辅助文件。 为此,您可以像计时器一样在b.jar中实例化一个线程,并验证文件是否有更改。
答案 1 :(得分:0)
我不确定在没有编辑b程序源和重新编译的情况下是否有一种简单的方法可以做到这一点。您正在谈论的是获取访问权限或将已编译的已运行程序b.jar暴露给a.jar。我想你需要编辑内存并基本上打破程序b。
我认为唯一更简单的方法是使用套接字在a.jar和b.jar之间建立一种服务器客户端关系。但是,你声明你不能编辑b.jar程序。
然后有一种使用机器人类的肮脏方式,听起来非常耗时。
答案 2 :(得分:0)
a.jar启动b.jar并将其表示为进程对象
a.jar可以使用connection
从b.jar的输入流扫描并打印到其输出流new Scanner(process.getInputStream())