當前位置:科普知識站>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);        }    }}