我尝试使用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);
}
什么都没有输出,谁能说出来?
答案 0 :(得分: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();