阅读背景:

java动态编译执行

来源:互联网 
import java.io.BufferedInputStream; import javax.tools.JavaCompiler; import javax.tools.ToolProvider; /* * 动态编译执行代码 */ public class Test { public static void main(String[] args) { //编译 HelloWorld.java <=> javac D:\code\HelloWorld.java JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); // 代码的绝对路径 int status = compiler.run(null, null, null, "D:\code\HelloWorld.java"); System.out.println(status == 0 ? "编译成功" : "编译失败"); //执行代码 HelloWorld.java <=> java -cp D:\code\ HelloWorld Runtime runtime = Runtime.getRuntime(); try { Process process = runtime.exec("java -cp D:\code\ HelloWorld"); BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream()); byte[] bytes = new byte[1024]; while (bufferedInputStream.read(bytes) != -1) { System.out.println(new String(bytes, 0, bytes.length)); } } catch (Exception e) { e.printStackTrace(); } } } import java.io.BufferedInputStream; import java



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: