1. 程式人生 > >JAVA 調用exe程序執行對應的文件 (個人用於編譯Java文件)

JAVA 調用exe程序執行對應的文件 (個人用於編譯Java文件)

當前 buffere compile 實例 value strong exe程序 and catch

需求:

需要利用Java程序,來調用計算機本身的黑窗口,來將特定的Java文件編譯成對應的字節碼文件。

實現思路:

通過調用Java的Runtime類,每個 Java 應用程序都有一個 Runtime 類實例,使應用程序能夠與其運行的環境相連接。

通過 getRuntime 方法獲取當前運行時。而通過查找doc可以發現,還可以通過流的方式獲取執行成功/失敗輸出到控制臺的信息。

實現代碼:

 1 public class CompileJava {
2 public static String rootDir = "/Users/tujietg/java/Eclipse-WorkSpace-dxMall/shw/";
3 public void CompileJavaMethod(String fileName) { 4 try { 5 Runtime rt = Runtime.getRuntime(); 6 // windowscd /Users/tujietg/Desktop/ && java HelloWorld 7 String command = "javac " + "Task.java"; 8 Process proc = rt.exec(command, null
, rootDir)); 9 InputStream stderr = proc.getErrorStream(); 10 InputStreamReader isr = new InputStreamReader(stderr); 11 BufferedReader br = new BufferedReader(isr); 12 String line = null; 13 System.out.println("<ERROR>"); 14 while
((line = br.readLine()) != null) 15 System.out.println(line); 16 System.out.println("</ERROR>"); 17 // int exitVal = proc.waitFor(); 18 // System.out.println("Process exitValue: " + exitVal); 19 } catch (Throwable t) { 20 t.printStackTrace(); 21 } 22 } 23 } 24

總結:

自己對Java的Runtime類,還是不是非常的熟練,自己還需要多多練習,多給自己找需求,然後通過查閱博客或者文檔想著辦法來實現。

JAVA 調用exe程序執行對應的文件 (個人用於編譯Java文件)