【发布时间】:2017-09-27 04:44:04
【问题描述】:
我正在编写一个 Java 程序来捕获终端命令的输出。在“正常”条件下,即我自己直接在终端中执行命令时,我可以看到以下结果:
但是,我的 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);
}
}
}
到目前为止,我无法确定为什么该代码只能发出微不足道的0x。我发布了这个问题,希望有人能够帮助我找出这个错误的原因。
【问题讨论】:
标签: java runtime inputstream command-line-arguments