色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java如何實現了cmd多條命令交互操作

錢艷冰2年前13瀏覽0評論

java如何實現了cmd多條命令交互操作?

在java中調用操作系統的程序時,可以使用java.lang.Runtime.getRuntime().exec() 來實現,但是這個方法在調用命令后就直接返回當前線程了;程序設計時,有時候需要在等待調用的系統程序完成操作后,當前線程才能做下一步操作,此時可以用類Process的方法waitFor()來實現,它會阻塞當先線程直至調用程序運行結束java.lang.Process process = java.lang.Runtime.getRuntime().exec("");//執行命令生成cube try {

process.waitFor();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

proc_stat = checkFileSize() ? "1" : "3";

[java] view plain copy

java.lang.Process process = java.lang.Runtime.getRuntime().exec("");//執行命令生成cube

try {

process.waitFor();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

proc_stat = checkFileSize() ? "1" : "3";

Process的方法waitFor()介紹,取自API文檔:

waitFor

public abstract int waitFor()

throws InterruptedException導致當前線程等待,如果必要,一直要等到由該 Process 對象表示的進程已經終止。如果已終止該子進程,此方法立即返回。如果沒有終止該子進程,調用的線程將被阻塞,直到退出子進程。

返回:

進程的出口值。根據慣例,0 表示正常終止。

拋出:

InterruptedException - 如果當前線程在等待時被另一線程 中斷,則停止等待,拋出 InterruptedException。

自我實踐:

執行多條cmd命令

String cmd = "cmd /c G: && cd G:\\projects\\testProject && start mvn package";

Process process = Runtime.getRuntime().exec(cmd);

process.waitFor();

process.exitValue() ;

這樣可以執行多條命令。

值得注意的是:執行 start mvn package,會開啟窗口,調用process.waitFor(),主線程不會被阻塞,而是會返回執行成功process.exitValue() == 0

將start mvn package中start去掉后,主線程就會阻塞,直到cmd命令開啟的子進程執行完畢,然后執行主線程。

java 實現多線程,java如何實現了cmd多條命令交互操作