java compiler是什么,让我们一起了解一下:
Compiler是计算机语言,定义了一些不能与#If...Then...#Else指令一起使用的常数,Java Compiler中最核心的方法是run(),通过这个方法能编译java源代码。
Java动态编译Java Compiler的前提条件是什么?
前提条件是建立一个De.java文件:
public class De{ public static void main(String[] args){ System.out.println("hello world"); } }
我们知道通过使用Java Compiler中最核心的方法run()能编译java源代码,使用的参数分别用来做什么?
1、java编译器提供参数。
2、得到Java编译器的输出信息。
3、接收编译器的错误信息。
4、一个或多个Java源程式文件。
如果run编译成功,那么返回是0。
那如果前3个参数传入的是null,该怎么办?
那么run方法将以标准的输入、输出代替,即System.in、System.out和System.err。如果我们要编译一个test.java文件,并将使用标准输入输出,run的使用方法如下:
int results = tool.run(null, null, null, "F:\\demo\\Test.java");
下面让我们用具体案例证明:
//CompileMain.java import javax.tools.JavaCompiler; import javax.tools.ToolProvider; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class CompileMain { public static void main(String[] args) throws IOException { JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); int result = compiler.run(null, null, null, "F:\\demo\\Test.java"); System.out.println(result == 0 ? "编译成功" : "编译失败"); //执行java 命令 , 空参数, 所在文件夹 Process process = Runtime.getRuntime().exec("java Test",null,new File("F:\\demo\\")); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); String str; while ((str = bufferedReader.readLine()) != null) { System.out.println(str); } } }
以上就是小编今天的分享了,希望可以帮助到大家。