私のアプリケーションでは、SUMO (特定のルートのトラフィックをシミュレートするアプリケーション) を使用しています。
このプログラムを適切なパラメーターで開始すると、出力が生成されます。ただし、このシミュレーションの開始は、コマンド ラインから行う必要があります。だから私はprocesBuilderでこれを解決しようと思ったが、これはうまくいかなかった。多くの人がこのprocesBuilderに問題を抱えているのを見つけましたが、コマンドラインを実行する方法を読んでも理解できませんでした。
実行する必要があるコマンドは次のとおりです。
"sumo -c \"" + path + FILENAME_CONFIG + "\" --netstate-dump " + ouputPath"
Sumo は私のデスクトップにあります。
"C:\Users\Samee\Desktop\SUMO\sumo-0.17.0\bin"
上記の情報をbatファイルに入れてbatファイルを実行することで、この問題を解決しました。(Cd ..でナビゲートし、パスを設定している間。batファイルを実行した方法:
Process rt = Runtime.getRuntime().exec("cmd /c start " + generator.getPath() + Generator.FILENAME_BAT);
しかし、シミュレーションがいつシミュレーションを停止したかを知る必要があります。これは で解決できprocesBuilder
ますか?
お気に入り:
ProcessBuilder builder = new ProcessBuilder("sumo -c \"" + path + FILENAME_CONFIG + "\" --netstate-dump " + ouputPath);
ProcessBuilder の実行が完了したかどうかはどうすればわかりますか?