1

我尝试使用Runtime.getRuntime().exec(cmd)运行 jad app 来反编译 .class 文件。cmd = "../bin/jad Test.class"但我无法通过这种方式获得输出:

Process p = Runtime.getRuntime().exec(jadCmd2);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
        System.out.println(line);
}

没有输出,谁能告诉我?

4

1 回答 1

4

我怀疑你遇到了错误。我建议你也打印出来。

如果您使用 ProcessBuilder,您可以将输出和错误结合起来,这样您就只有一个流可以读取。

来自http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html

 ProcessBuilder pb =
   new ProcessBuilder("myCommand", "myArg1", "myArg2");
 pb.redirectErrorStream(true);
 Process p = pb.start();
于 2012-07-03T08:29:21.180 回答