2012-07-03 41 views
0

我試圖用Runtime.getRuntime().exec(cmd)來運行jad應用來反編譯.class文件。 cmd = "../bin/jad Test.class"但我不能用這種方式得到的輸出:爲什麼沒有輸出的時候調用「Runtime.getRuntime().exec(cmd);」在Linux中?

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

必須有誤解的問題,打消了我的答案,以避免任何混亂...... – posdef

回答

3

我懷疑你遇到了錯誤。我建議你也打印出來。

如果您使用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(); 
+0

結合?你能分享一些示例代碼嗎? – JerryCai

相關問題