- ベストアンサー
Runtime.execでの実行結果の取得
初歩的な質問ですいませんが、execでバッチファイルを実行し、 その結果を取得したい場合、getInputStreamとgetErrorStream以外に 取得する方法はあるのでしょうか? バッチファイルを単独で実行した場合に画面出力されるエラーが、 なぜか取得できないでいます。 ただ、実行しているコマンドはDOSコマンドではなく、 別アプリのEXEファイルになります。 (DOSコマンドの結果は正常に取れました)
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
簡単な外部プログラムとバッチファイルを試してみたところ、バッチファイルでの外部プログラムの実行結果も、getInputStreamで取得できるんですけど・・・。 (正確には、Runtime#exec()を実行した結果のProcessオブジェクトのgetInputStream()ですね。) しかし、バッチから実行したDOSコマンドの結果はちゃんと取れるのですよね。うーむ・・・。 作成したプログラムのバッチファイル呼び出し、および結果取得部分の一部だけでも提示していただければ、助言が可能かもしれません。(どんなバッチファイルかという情報も・・・)
お礼
回答ありがとうございます。 大変返答が遅れてしまい、すいませんでした。 この件については、その後自分でかなり調べたんですが、 おっしゃるとおり、何を見てもGetInputStream又はGetErrorStreamで 取得できると思われました。 ただ、時間の関係で今回はdosのERRORLEVELの方で対応することとしましたので、 本質問は、ヒマになったときにもう一度勉強してみようと思います。 ありがとうございました。