0

我有一个在服务器中运行的 java servlet,以及位于同一服务器中的“exe 文件”,

我想响应客户端将参数传递给 servlet,运行位于服务器上的 exe 文件并将其显示给客户端,甚至是屏幕截图,

有任何想法吗??!!请帮忙

4

2 回答 2

1

您可以使用ProcessRuntime

例如:

Runtime r = Runtime.getRuntime();    
Process p = r.getRuntime().exec("C:\\newfolder\\run.exe");  

截屏参考如何在java中截取sc

这样您就可以保存图像,然后将此图像发送给用户。

关于向客户端发送图像,请参阅如何将文件从服务器发送到客户端

这些是碎片,你需要把它们放在一起

更新1:杀死你可以使用的exe p.destroy() (虽然不是一个好的实现,因为它会强行杀死进程)

UPDATE2:检查进程(正在执行你的exe)因此检查exe是否正在运行,你可以参考如何检查进程是否正在运行

于 2012-11-04T20:40:53.247 回答
0

您可以通过以下代码在 Java 中运行外部命令:

Process p = Runtime.getRuntime().exec("your_external_program_here");

您也可以传入参数,只需修改上面的行以包含您要传递到程序中的参数。

要检索进程的“输出”,您需要获取进程的输入流:

InputStream output = p.getInputStream();

请注意,输入流是流程的管道输出。然后,您可以像这样查看内容(建议使用缓冲阅读器):

String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(output));
while ((line = reader.readLine()) != null) { ... }

或者,您可以查看更易于使用的ProcessBuilder :)

于 2012-11-04T20:36:24.593 回答