百度大牛深夜探访Java 启动exe程序,传递参数和获取参数操作

这篇文章主要介绍了java 启动exe程序,传递参数和获取参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1、java中启动exe程序 ,并添加传参

String[] cmd = {
    
    "hh.exe","12315"};
  
 Process process = null;
 try {
    
    
 ProcessBuilder pb = new ProcessBuilder();
 pb.command(cmd);
 process=pb.start(); 
 } catch (Exception e) {
    
    
 e.printStackTrace();
 }finally {
    
    
 if (process != null){
    
    
 process.destroy();
 }
 }

在cmd中,第一个参数所要启动的EXE程序,第二个参数为 传参;
2、在exe程序中获取 传递的参数
在步骤一中打开的“hh.exe”程序,也是基于java编写的。

我们打印一下main方法的args[],即可拿到由上一个程序传递的参数

public static void main(String args[]) {
    
    
// for (int i=0;i<args.length;i++){
    
    
 System.out.println(args[i]);
// JOptionPane.showMessageDialog (null, args[i], "日志", JOptionPane.CANCEL_OPTION);
// }
// System.exit(0);//结束 当前进程

**补充:java程序生成带参数的可执行exe文件

简介
最近写了一个代码生成工具,可根据一些简单的配置自动生成model、dao、service、serviceImpl和controller层的代码,减少冗余代码的开发量。听取了同事的建议,把工具制作成可执行工具,这样可保证生成工具的独立性,并且工具对原来的项目代码不存在依赖。

环境配置
- 1、JDK环境

- 2、idea或Eclipse

- 3、exe4j 下载地址:https://www.ej-technologies.com/download/exe4j/files

**操作步骤

  • 1、将java程序打成jar包(不管你是web项目还是java application)。**

在idea中打jar包的方式为:File->File Structrue->Atifacts->选择"+"Add jar(From modules with dependencies…) ,然后选择项目点击OK->Build->Build Atifacts->Build or Rebuid。

  • 2、使用exe4j将打包好的jar包生成exe可执行文件。

(1)下载并安装exe4j,进入安装目录的bin文件夹下,双击打开"exe4j.exe"

(2)点击next,选择"JAR in EXE" mode

(3)点击next,输入将要生成的应用的名称和生成exe文件的路径

(4)点击next,这里注意点击32-bit or 64-bit,如果是64位JDK环境,就勾选"Generate 64-bit executable"

(5)点击next,输入Executable name,并选中Console application,表示我们以命令行窗口的形式运行生成工具

(6)点击next,右侧点击绿色“+”,Archive处选择生成的jar文件,然后选择jar文件中的主程序Main所在类

(7)点击next,输入JRE的环境配置

(8)连续点击next,进入到如下界面:

到此exe文件就生成成功了
运行
生成的exe文件在第三步设置的输出路径中,

1、进入cmd命令行窗口,进入exe文件所在目录。

2、输入生成的exe文化的名称即可执行该exe文件,如本例中输入"cg.exe"即可运行文件

可带参数运行的可执行文件
**通常我们想要在运行时指定配置参数,这时,我们只需要在"cg.exe"后面接上空格和参数,如"cg.exe -t",在java程序Main方法中:public static void main(String[] args) args数组 可以接收到跟在命令行后面的参数。
**
注意事项

  • 1、如果你的JDK环境为64位,第(4)步切记勾选"Generate 64-bit executable"

  • 2、运行可执行文件就是不输出,可能为第(5)步忘记勾选Console application。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持小编创作不易。如有错误或未考虑完全的地方,望不吝赐教。

猜你喜欢

转载自blog.csdn.net/dcj19980805/article/details/115268932