热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

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

补充: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。

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


推荐阅读
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细介绍了如何使用ActionScript 3.0 (AS3) 连接并操作MySQL数据库。通过具体的代码示例和步骤说明,帮助开发者理解并实现这一过程。 ... [详细]
  • 在即将迎来26岁生日之际,作者的人生陷入了低谷。经过近三年的硕士学习后,最终决定退学,并且面临没有工作经验的困境。尽管如此,作者依然坚定地选择为自己的人生负责。 ... [详细]
  • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 在网页开发中,页面加载速度是一个关键的用户体验因素。为了提升加载效率,避免在PageLoad事件中进行大量数据绑定操作,可以采用异步加载和特定控件来优化页面加载过程。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 探索如何使用公共数据集为您的编程项目提供动力。无论您是编程新手还是有经验的开发者,本文将为您提供实用建议和资源,帮助您启动并运行一个创新的数据驱动型项目。 ... [详细]
author-avatar
曾wujcik_663
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有