Rso's Jotter

日々の開発の知見のメモやその他雑記

java.lang.Process

Processを使って外部コマンドを使ってプログラムを動かしてその出力を利用するときにはまる罠

getInputStream()を使って外部コマンドの出力をとってこれるが、出力内容が多すぎる場合はブロックされて
プログラムが進まなくなる。


一番手っ取り早い解決策として標準出力をファイルにリダイレクトしてその結果を読み込めば何とかなった。

標準エラー出力が大量に出力された場合も同様の問題が起こりうるがこの場合は別スレッドで出力し続けるとかなんとか
しないといけないっぽい。