JAVA 調用exe程序執行對應的文件 (個人用於編譯Java文件)
阿新 • • 發佈:2019-04-22
當前 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文件)