有的时候我们需要运行一段外部的java程序,这时候就要使用到到动态加载:
使用:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); //获得动态编译器
int result = compiler.run(null,null,null,"path"); //运行java文件

参数解释:
前3个参数分别用来为java编译器提供参数、得到Java编译器的输出信息及接收编译器的错误信息,后面的可变参数能传入一个或多个Java源程式文件。如果run编译成功,返回0。
int run ( InputStream in , OutputStream out , OutputStream err , String… arguments)
如果前3个参数传入的是null,那么run方法将以标准的输入、输出代替,即System.in、System.out和System.err。如果我们要编译一个test.java文件,并将使用标准输入输出,run的使用方法如下:
第一个:为java编译器提供参数,如果为空(null)的话,使用 键盘 输入(System.in)
第二个:得到Java编译器的输出信息,如果为空(null)的话,输出到控制台(System.out)
第三个:接收编译器的错误信息,如果为空(null)的话,错误信息输出到控制台(System.err)
第四个:需要执行的java文件路径,是一个 可变参数,可以传入多个 String ,即可以运行多个java文件
一般情况下前三个都是null就好了
返回一个 int 类型:
为 0 表示成功,非0表示失败