java compiler是什么,讓我們一起了解一下:
Compiler是計(jì)算機(jī)語(yǔ)言,定義了一些不能與#If...Then...#Else指令一起使用的常數(shù),Java Compiler中最核心的方法是run(),通過(guò)這個(gè)方法能編譯java源代碼。
Java動(dòng)態(tài)編譯Java Compiler的前提條件是什么?
前提條件是建立一個(gè)De.java文件:
public?class?De{ public?static?void?main(String[]?args){ System.out.println("hello?world"); } }
我們知道通過(guò)使用Java Compiler中最核心的方法run()能編譯java源代碼,使用的參數(shù)分別用來(lái)做什么?
1、java編譯器提供參數(shù)。
2、得到Java編譯器的輸出信息。
3、接收編譯器的錯(cuò)誤信息。
4、一個(gè)或多個(gè)Java源程式文件。
如果run編譯成功,那么返回是0。
那如果前3個(gè)參數(shù)傳入的是null,該怎么辦?
那么run方法將以標(biāo)準(zhǔn)的輸入、輸出代替,即System.in、System.out和System.err。如果我們要編譯一個(gè)test.java文件,并將使用標(biāo)準(zhǔn)輸入輸出,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???"編譯成功"?:?"編譯失敗"); ? //執(zhí)行java?命令?,?空參數(shù),?所在文件夾 ????????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); ????????} ????} }
以上就是小編今天的分享了,希望可以幫助到大家。