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); ????????} ????} }
以上就是小編今天的分享了,希望可以幫助到大家。