欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java調用外部程序的方法及代碼演示

 更新時間:2023年03月19日 09:29:19   作者:gundumw100  
這篇文章主要介紹了java調用外部程序的方法及代碼演示的相關資料,需要的朋友可以參考下

java調用外部程序的方法 

在一個java應用中,可能會遇到這樣的需求,就是需要調用一些外部的應用做一些處理,比如調用excel,然后在繼續(xù)程序的運行。 

下面就開始進入java調用外部程序的一些演示,讓java應用更加靈活。 

1:最簡單的演示: 

Runtime.getRuntime().exec("notepad.exe"); 

記事本被打開了是吧。 

2:傳遞應用程序的參數(shù): 

Runtime runtime=Runtime.getRuntime();

String[] commandArgs={"notepad.exe","c:/boot.ini"};

runtime.exec(commandArgs);

現(xiàn)在不單單打開了記事本,而且還裝載了boot.ini文件是吧。 

現(xiàn)在已經(jīng)完全解決了調用外部程序的問題,不是嗎,但是大家會發(fā)現(xiàn)exec方法是有返回值,那么繼續(xù)我們的演示吧。 

1:Process的waitFor:

Runtime runtime=Runtime.getRuntime();

String[] commandArgs={"notepad.exe","c:/boot.ini"};

Process process=runtime.exec(commandArgs);

int exitcode=process.waitFor();

System.out.println("finish:"+exitcode);

執(zhí)行上面的代碼以后發(fā)現(xiàn)不同的地方了嗎,waitFor會使線程阻塞,只有外部程序退出后才會執(zhí)行System.out.println("finish:"+exitcode); 
這個功能很有用是吧,因為多數(shù)時候你都需要等待用戶處理完外部程序以后才繼續(xù)你的java應用。 

2:Process的destroy: 

Runtime runtime=Runtime.getRuntime();

String[] commandArgs={"notepad.exe","c:/boot.ini"};

final Process process=runtime.exec(commandArgs);

new Thread(new Runnable(){

@Override

public void run() {

try {

Thread.sleep(5000);

} catch (InterruptedException e) {}

process.destroy();

}}).start();

int exitcode=process.waitFor();

System.out.println("finish:"+exitcode);

這個演示稍微復雜了一些,如果你等待5秒,就會發(fā)現(xiàn)記事本自動關閉了,是的,這個就是destroy方法的作用,強制關閉調用的外部程序。 

不用我解釋了吧,這是非常有用的方法。 

以上的部分已經(jīng)足夠你調用并控制你的外部應用了。如果需要更詳細的信息,看javadoc文檔吧。 

最后的說明:ProcessBuilder這個1.5新增的類也可以完成同樣的任務,Runtime就是調用了這個類。

到此這篇關于java調用外部程序的方法及代碼演示的文章就介紹到這了,更多相關java調用外部程序的方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中Optional的正確用法與爭議點詳解

    Java中Optional的正確用法與爭議點詳解

    這篇文章主要介紹了Java中Optional的正確用法與爭議點的相關資料,需要的朋友可以參考下
    2022-11-11
  • IDE Eval Reset忘了重置進不去的完美解決方法

    IDE Eval Reset忘了重置進不去的完美解決方法

    這篇文章主要介紹了IDE Eval Reset忘了重置進不去的完美解決方法,插件安裝方式包括離線安裝和在線安裝方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • Spring與MyBatis集成?AOP整合PageHelper插件的操作過程

    Spring與MyBatis集成?AOP整合PageHelper插件的操作過程

    Spring與MyBatis集成的主要目的是為了提供更強大的數(shù)據(jù)訪問和事務管理能力,以及簡化配置和提高開發(fā)效率,這篇文章主要介紹了Spring與MyBatis集成AOP整合PageHelper插件,需要的朋友可以參考下
    2023-08-08
  • 深入解析Java并發(fā)程序中線程的同步與線程鎖的使用

    深入解析Java并發(fā)程序中線程的同步與線程鎖的使用

    這篇文章主要介紹了深入解析Java并發(fā)編程中線程的同步與線程鎖的使用,synchronized和lock是Java中最常見的控制線程的方法,需要的朋友可以參考下
    2016-03-03
  • Jmeter測試時遇到的各種亂碼問題及解決

    Jmeter測試時遇到的各種亂碼問題及解決

    這篇文章主要介紹了Jmeter測試時遇到的各種亂碼問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • idea導入工程時不能導入maven項目不能加入tomcatServer的原因

    idea導入工程時不能導入maven項目不能加入tomcatServer的原因

    這篇文章主要介紹了idea導入工程時不能導入maven項目不能加入tomcatServer的原因及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Intellij IDEA十大快捷鍵

    Intellij IDEA十大快捷鍵

    Intellij IDEA中有很多快捷鍵讓人愛不釋手,stackoverflow上也有一些有趣的討論.這篇文章主要介紹了Intellij IDEA十大快捷鍵,需要的朋友可以參考下
    2018-03-03
  • SpringBoot使用RESTful接口詳解

    SpringBoot使用RESTful接口詳解

    RESTful是一種web軟件風格,它不是標準也不是協(xié)議,它不一定要采用,只是一種風格,它倡導的是一個資源定位(url)及資源操作的風格,這篇文章主要介紹了SpringBoot使用RESTful接口
    2022-10-10
  • Spring Cloud Data Flow初體驗以Local模式運行

    Spring Cloud Data Flow初體驗以Local模式運行

    這篇文章主要介紹了Spring Cloud Data Flow初體驗以Local模式運行,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot前后端分離實現(xiàn)驗證碼操作

    SpringBoot前后端分離實現(xiàn)驗證碼操作

    驗證碼的功能是防止非法用戶惡意去訪問登錄接口而設置的一個功能,今天我們就來看看在前后端分離的項目中,SpringBoot是如何提供服務的
    2022-05-05

最新評論