1

実行可能ファイルを実行しようとして、実行が完了するのを待っていましたが、ループしているため、複数回実行されます。私はそれを実行して待つことができません。プログラムとスタックトレースにバッファを追加しようとしました。

以下のコードでわかるように、実行したいファイルは 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();

}

助言がありますか?

4

1 に答える 1

2

http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.htmlをご覧ください。

おそらくバッファがいっぱいになります。

于 2013-06-30T20:06:55.567 に答える