簡體   English   中英

運行外部可執行文件(.exe)並等待其完成

[英]Running external executable file (.exe) and waiting for it to finish

我一直在嘗試運行一個可執行文件,並等待其完成運行,並且該文件處於循環中,因此它可以運行多次。 我就是無法運行並等待它。 我試圖為我的程序以及stacktrace添加一個緩沖區。

我要運行的文件是C驅動器中的可執行文件,如下面的代碼所示。 可執行文件從另一個文本文件獲取輸入,這是我在運行可執行文件之前所修改的內容。 文本文件具有100多種化學物種,並通過可執行文件運行了1000多個反應。 我想要做的是用可執行文件產生的輸出修改輸入。 有趣的是,可執行文件輸出到同一文件。

這只是為可執行文件的功能提供一些背景知識。 這就是為什么將其循環處理的原因,因為我會在幾分之一秒的時間內運行這些反應,在這里我將抓取輸出並將其放置到另一個文本文件中,以便以后進行數據分析。 但是目前看來,我嘗試獲取可執行文件的所有方法和代碼都無法正常工作,甚至可能是因為使用了waitFor函數。 老實說,我不知道該怎么辦,也不知道如何具體解決我的問題。 我是Java新手,需要一些指導以促進自己的進步。

while(finalTime < 1.0){
  try{

    Runtime rt = Runtime.getRuntime();

    Process pr = rt.exec("C:file", 
        null, new File("C:file")); 

    int exitVal = pr.waitFor();
    System.out.println("Exited with error code "+exitVal + "intital:" + initialTime + ", finalTime:" + finalTime);

    pr.destroy() ;

  }catch(IOException | InterruptedException pr){ 

  pr.printStackTrace()
  }

  initialTime+= 0.10;
  finalTime+=0.10;

  updateTime();

}

有什么建議么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM