-1
私はターミナルコマンドの出力をキャプチャするJavaプログラムを作成しています。JavaランタイムgetInputStreamは大部分のターミナルコマンド出力を無視します
は、しかし、私のJavaプログラムによってレンダリングされた出力は、それだけでの小さなサブセットをキャプチャ:私は、端末に直接自分自身をコマンドを実行する、すなわち「正常な」条件の下で、私は次のような結果を見ることができます、ここを参照してください:
import java.io.*;
class evmTest {
public static void main(String[] args) {
String evmResult = "";
String evmCommand = "evm --debug --code 7f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000027f00000000000000000000000000000000000000000000000000000000000000020101 run";
try {
Runtime r = Runtime.getRuntime();
Process p = r.exec(evmCommand);
BufferedReader in = new BufferedReader(new
InputStreamReader(p.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
evmResult += inputLine;
}
in.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
:
これは私が話してコードベースであります0
これまでのところ、私はそのコードがなぜ手の込んだ0x
を出すことしかできないのか判断できなかった。私は誰かが私がこのエラーの原因を追跡するのを助けることができるかもしれないことを期待してこの質問を投稿しました。
あなたが別のスレッドでこれらのストリームを読み、またはそれらをマージする必要があります。 – EJP