JAVA 调用exe程序执行对应的文件 (个人用于编译Java文件)

需求:

需要利用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类,还是不是非常的熟练,自己还需要多多练习,多给自己找需求,然后通过查阅博客或者文档想着办法来实现。

 参考博客:https://berdy.iteye.com/blog/810223

原文地址:https://www.cnblogs.com/tujietg/p/10750222.html