我有一个在服务器中运行的 java servlet,以及位于同一服务器中的“exe 文件”,
我想响应客户端将参数传递给 servlet,运行位于服务器上的 exe 文件并将其显示给客户端,甚至是屏幕截图,
有任何想法吗??!!请帮忙
您可以使用Process
和Runtime
类
例如:
Runtime r = Runtime.getRuntime();
Process p = r.getRuntime().exec("C:\\newfolder\\run.exe");
截屏参考如何在java中截取sc
这样您就可以保存图像,然后将此图像发送给用户。
关于向客户端发送图像,请参阅如何将文件从服务器发送到客户端
这些是碎片,你需要把它们放在一起
更新1:杀死你可以使用的exe p.destroy()
(虽然不是一个好的实现,因为它会强行杀死进程)
UPDATE2:检查进程(正在执行你的exe)因此检查exe是否正在运行,你可以参考如何检查进程是否正在运行
您可以通过以下代码在 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 :)