java 啟動exe程序,傳遞參數(shù)和獲取參數(shù)操作
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中,第一個參數(shù)所要啟動的EXE程序,第二個參數(shù)為 傳參;
2、在exe程序中獲取 傳遞的參數(shù)
在步驟一中打開的“hh.exe”程序,也是基于java編寫的。
我們打印一下main方法的args[],即可拿到由上一個程序傳遞的參數(shù)。
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);//結(jié)束 當前進程
補充:java程序生成帶參數(shù)的可執(zhí)行exe文件
簡介
最近寫了一個代碼生成工具,可根據(jù)一些簡單的配置自動生成model、dao、service、serviceImpl和controller層的代碼,減少冗余代碼的開發(fā)量。聽取了同事的建議,把工具制作成可執(zhí)行工具,這樣可保證生成工具的獨立性,并且工具對原來的項目代碼不存在依賴。
環(huán)境配置
1、JDK環(huán)境
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可執(zhí)行文件。
(1)下載并安裝exe4j,進入安裝目錄的bin文件夾下,雙擊打開"exe4j.exe"
(2)點擊next,選擇"JAR in EXE" mode
(3)點擊next,輸入將要生成的應(yīng)用的名稱和生成exe文件的路徑
(4)點擊next,這里注意點擊32-bit or 64-bit,如果是64位JDK環(huán)境,就勾選"Generate 64-bit executable"
(5)點擊next,輸入Executable name,并選中Console application,表示我們以命令行窗口的形式運行生成工具。
(6)點擊next,右側(cè)點擊綠色“+”,Archive處選擇生成的jar文件,然后選擇jar文件中的主程序Main所在類
(7)點擊next,輸入JRE的環(huán)境配置
(8)連續(xù)點擊next,進入到如下界面:
到此exe文件就生成成功了
運行
生成的exe文件在第三步設(shè)置的輸出路徑中,
1、進入cmd命令行窗口,進入exe文件所在目錄。
2、輸入生成的exe文化的名稱即可執(zhí)行該exe文件,如本例中輸入"cg.exe"即可運行文件
可帶參數(shù)運行的可執(zhí)行文件
通常我們想要在運行時指定配置參數(shù),這時,我們只需要在"cg.exe"后面接上空格和參數(shù),如"cg.exe -t",在java程序Main方法中:public static void main(String[] args) args數(shù)組 可以接收到跟在命令行后面的參數(shù)。
注意事項
1、如果你的JDK環(huán)境為64位,第(4)步切記勾選"Generate 64-bit executable"
2、運行可執(zhí)行文件就是不輸出,可能為第(5)步忘記勾選Console application。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
常用的Java數(shù)據(jù)結(jié)構(gòu)知識點匯總
這篇文章主要介紹了常用的Java數(shù)據(jù)結(jié)構(gòu)知識點匯總,數(shù)據(jù)結(jié)構(gòu)分線性數(shù)據(jù)結(jié)構(gòu)和非線性數(shù)據(jù)結(jié)構(gòu),下面對此作詳細介紹,需要的小伙伴可以參考一下,希望對你的學習或工作有所幫助2022-03-03SpringBoot替換默認的tomcat服務(wù)器的方法
Tomcat是Apache基金下的一個輕量級的Servlet容器,支持Servlet和JSP,Tomcat具有Web服務(wù)器特有的功能,在SpringBoot框架中,我們使用最多的是Tomcat,這是SpringBoot默認的容器技術(shù),本文給大家介紹了Spring?Boot如何替換默認的tomcat服務(wù)器,需要的朋友可以參考下2024-08-08idea注解參數(shù)換行時間日期格式設(shè)置方法
這篇文章主要介紹了idea注解參數(shù)換行時間日期格式設(shè)置方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05SpringBoot實現(xiàn)Server-Sent Events(SSE)的使用完整指南
使用SpringBoot實現(xiàn)Server-Sent Events(SSE)可以有效處理實時數(shù)據(jù)推送需求,具有單向通信、輕量級和高實時性等優(yōu)勢,本文詳細介紹了在SpringBoot中創(chuàng)建SSE端點的步驟,并通過代碼示例展示了客戶端如何接收數(shù)據(jù),適用于實時通知、數(shù)據(jù)展示和在線聊天等場景2024-09-09Java數(shù)據(jù)結(jié)構(gòu)之LinkedList從鏈表到實現(xiàn)
LinkedList是Java中常用的數(shù)據(jù)結(jié)構(gòu)之一,實現(xiàn)了鏈表的特性,支持快速添加、刪除元素,可以用于實現(xiàn)隊列、棧、雙向隊列等數(shù)據(jù)結(jié)構(gòu)。LinkedList的內(nèi)部實現(xiàn)采用了雙向鏈表,其中每個節(jié)點都包含前驅(qū)節(jié)點和后繼節(jié)點的引用,可以直接訪問鏈表的頭尾元素2023-04-04