關於java調用本地應用程序

關於java調用本地應用程序(黑窗口CMD,或exe可執行文件)

String path = "D:\\xx.bat";
Runtime.getRuntime().exec(path);

當然,像這種cmd命令窗口,執行後可能需要對其進行一些操作,或者查看執行結果等,所以可以用到Process類

Process p =Runtime.getRuntime().exec(path);
// 獲取子進程執行的錯誤流
p.getErrorStream();
// 獲取子進程的輸入流
p.getInputStream();
// 獲取子進程的輸出流
p.getOutputStream();
// 阻塞當前線程,直至子進程終止
p.waitFor();
// 執行結果碼(子進程執行後退出時返回值,0表示正常)
int exitValue = p.exitValue();
...

如果想銷燬該子進程(停止執行)

Process p =Runtime.getRuntime().exec(path);
// 某些操作...
// 退出該子進程(人爲),有兩種方式
// 方式一,直接通過p對象調用方法退出
p.destroy();
// 方式二,例如退出cmd窗口:
Runtime.getRuntime().exec("cmd.exe /C start wmic process where name = 'cmd.exe' call terminate");

需要注意點是,若調用的路徑中包含有空格,則需要對路徑作出處理,才能執行

String path = "D:\\Program Files\\xx.bat";
// 空格需要使用雙引號包裹
Runtime.getRuntime().exec(path.replace(" ", "\" \""));

最後補充關於獲取本地路徑(個別路徑,完整的可自行百度):

javax.swing.filechooser.FileSystemView fsv = javax.swing.filechooser.FileSystemView.getFileSystemView();
fsv.getDefaultDirectory().getAbsolutePath(); //讀取我的文檔路徑
fsv.getHomeDirectory().getAbsolutePath(); //讀取桌面路徑
...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章