当前位置:科普知识站>IT科技>

java|compiler

IT科技 阅读(3.25W)

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

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。

java compiler

那如果前3个参数传入的是null,该怎么办?

那么run方法将以标准的输入、输出代替,即System.in、System.out和System.err。如果我们要编译一个test.java文件,并将使用标准输入输出,run的使用方法如下:

int results = tool.run(null, null, null, "F:demoTest.java");

下面让我们用具体案例证明:

//CompileMain.javaimport 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:demoTest.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);        }    }}