• ベストアンサー

Runtime.execでの実行結果の取得

初歩的な質問ですいませんが、execでバッチファイルを実行し、 その結果を取得したい場合、getInputStreamとgetErrorStream以外に 取得する方法はあるのでしょうか? バッチファイルを単独で実行した場合に画面出力されるエラーが、 なぜか取得できないでいます。 ただ、実行しているコマンドはDOSコマンドではなく、 別アプリのEXEファイルになります。 (DOSコマンドの結果は正常に取れました)

質問者が選んだベストアンサー

  • ベストアンサー
  • m_hagizo
  • ベストアンサー率65% (31/47)
回答No.1

簡単な外部プログラムとバッチファイルを試してみたところ、バッチファイルでの外部プログラムの実行結果も、getInputStreamで取得できるんですけど・・・。 (正確には、Runtime#exec()を実行した結果のProcessオブジェクトのgetInputStream()ですね。) しかし、バッチから実行したDOSコマンドの結果はちゃんと取れるのですよね。うーむ・・・。 作成したプログラムのバッチファイル呼び出し、および結果取得部分の一部だけでも提示していただければ、助言が可能かもしれません。(どんなバッチファイルかという情報も・・・)

wwwwtaka
質問者

お礼

回答ありがとうございます。 大変返答が遅れてしまい、すいませんでした。 この件については、その後自分でかなり調べたんですが、 おっしゃるとおり、何を見てもGetInputStream又はGetErrorStreamで 取得できると思われました。 ただ、時間の関係で今回はdosのERRORLEVELの方で対応することとしましたので、 本質問は、ヒマになったときにもう一度勉強してみようと思います。 ありがとうございました。

関連するQ&A