首页 > 编程语言 >使用java传参调用exe并且获取程序进度和返回结果的一种方法

使用java传参调用exe并且获取程序进度和返回结果的一种方法

时间:2023-01-12 14:23:40浏览次数:34  
标签:传参 exe java 前端 程序 调用

1.背景

在某个项目中需要考虑使用java后台调用由C#编写的切图程序(exe),并且前端能够获取到切图的进度和相关描述信息。

2.解决思路

a.首先改造切图程序为接受参数从Main函数传递。

b.编写java后台传参调用exe的函数。

c.解决通信问题。

3.具体实现

3.1改写C#窗体程序

C#中的入口程序为Main函数,其中Main函数默认是没有参数的,如果添加参数,其只支持一个String数组参数,入口改写如下

 

 

将需要传入的参数写在args数组中,后续业务逻辑上因此做相关改写即可。

3.2java端传参调用

Java中可以利用Process类进行对exe或者是命名行cmd进行调用。具体例子如下:

 

 

其中exec为传参调用,而waitFor函数为当前线程等待函数,并可获取到由该 Process 对象表示的进程终止后返回的值。

如果exe中不设置返回参数,则默认执行正确为0。

3.3通信设计

3.3.1方案一

a.前端发出请求,等待回应。

b.后台接受请求,调用起exe。

c.exe执行完后将信息写入到指定文本中。

d.java端监听程序执行完毕后,获取指定文本。

e.解析文本中的信息。信息可以按照自定义规则组织,传达所需表示的含义。

f.将解析后的数据返回给前端。

优点:

前端无需轮询,等待返回结果即可。

缺点:

会出现请求超时问题,并且无法知道exe执行的目前状态。

3.3.2方案二

a.前端发出请求,并开始定时触发程序状态查询请求。

b.后台接受请求,调用起exe。

c.exe执行过程、完毕均向指定文本中写入信息。

d.前端状态查询请求,不断读取指定文本中的状态信息,在前端进行相关展示。

 

优点:

规避请求超时问题,可以实时获取程序进程。

缺点:

前端需要进行定时状态轮询请求。

标签:传参,exe,java,前端,程序,调用
From: https://www.cnblogs.com/lishanyang/p/17046557.html

相关文章

  • java idea debug变慢
    问题debug启动比run慢的非常多原因断点太多(刚开始直接取消了几个断点,没啥变化)解决取消打钩......
  • 打包 java.lang.Exception: No runnable methods或javax.websocket.server.ServerCont
    问题打包遇到这个问题,本地项目启动没问题,打包出这个java.lang.Exception:Norunnablemethods atorg.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethod......
  • java.lang.IllegalStateException: javax.websocket.server.ServerContainer not avai
    问题运行spring的单元测试报错Causedby:java.lang.IllegalStateException:javax.websocket.server.ServerContainernotavailable atorg.springframework.util.As......
  • JAVA线程-interrupt
    JAVA线程-interrupt中断一个线程非常简单,只需要在其他线程中对目标线程调用interrupt()方法,目标线程需要反复检测自身状态是否是interrupted状态,如果是,就立刻结束运行。......
  • Java类、对象以及(静态)方法的探讨
    大家好,这是我的第一篇博客。在这里我想跟大家分享一下Java最基础的ClassandObject,也就是我们熟说的类和对象,以及对Java方法的探讨。初学时的我因为没有对这里......
  • Java程序的运行机制
    使用Java语言进行程序设计时,不仅要了解Java语言的显著特点,还需要了解Java程序的运行机制。Java程序员运行时,必须经过编译和运行两个步骤。首先将后缀为.java的源文件进行编......
  • Java程序员必看之:eclipase中maven的配置
     需要准备:apache-maven-3.2.3.zip包  Repository.rar本地仓库                              ......
  • Jenkins部署Java应用到Tomcat服务器
    对于Java程序,Jenkins需要使用构建工具,如maven、ant等,其中maven比较流行。这里就用maven实现Java应用的部署。1GitLab准备Java代码2部署Tomcat并配置apt-get-yinstallto......
  • 【收藏】不可错过的javascript迷你库
    最近看着下自己的githubstar,把我吓坏了,手贱党,收藏癖的我都收藏了300+个仓库了,是时候整理一下了。Unix主张kiss,小而美被实践是最好用的,本文将介绍笔者收集的一些非常赞的......
  • java 程序打包成 exe安装包 兼容性强
    找了很多资料,网上的打包成exe用的最多的是exe4j。确实一段时间我也是用exe直到后来开发一个应用的时候出现了兼容性问题。于是再次研究,如果你是想要吧开发好java桌面应用......