javaCompiler简介

乔欣 Java教程 发布时间:2022-12-05 09:15:42 阅读数:12584 1
下文笔者讲述javaCompiler的简介说明,如下所示

javaCompiler简介

javaCompiler可用于调用java语言编译器的一个接口
 她可以实现对指定路径或远程代码的编译

如:
  将一个java代码文件,读取并放入到一个字符串中
  然后我们可借助javaCompiler编译此文件
  再使用反射对文件进行运行
例:
 
public static void main(String[] args) throws Exception {
        /**
         * 将 string 写入TestClass.java中
         * 通过文件输出流
         */
        String string = "public class Hello { public static void main(String []args){System.out.println(\"Java265\");}}";
        File file = new File("D:\\test\\TestClass.java");
        if (!file.exists()) {
            file.createNewFile();
        }
        byte[] bytes = string.getBytes();
        FileOutputStream stream = new FileOutputStream(file);
        stream.write(bytes, 0, bytes.length);
        stream.close();
        /**
         * 编译TestClass.java
         * 通过反射调用main函数实现函数的运行
         */
        JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler();
        int result = javaCompiler.run(null, null, null, "D:\\test\\TestClass.java");
        System.out.println(result == 0 ? "success" : "failure");
        URL[] urls = new URL[]{new URL("file:/" + "C:/Users/Administrator/Desktop/temp/")};
        URLClassLoader classLoader = new URLClassLoader(urls);
        Class c = classLoader.loadClass("TestClass");
        System.out.println(c.getName());
        Method method = c.getDeclaredMethod("main", String[].class);
        method.invoke(null,  (Object) new String[]{"maomao","java265.com"});
    }
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202212/5031.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者