1

Runtime.getRuntime().exec(cmd).classファイルを逆コンパイルするためにjadアプリを実行するために使用しようとしました。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を使用する場合は、出力とエラーを組み合わせて、読み取るストリームが1つだけになるようにすることができます。

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 に答える