动态执行java文件2019/8/06

有的时候我们需要运行一段外部的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表示失败

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容