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。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 解決使用ProcessBuilder踩到的坑及註意事項
- Java Runtime的使用詳解
- 基於Process#waitFor()阻塞問題的解決
- Java-String類最全匯總(上篇)
- Java魔法堂之調用外部程序的方法