欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java動態(tài)編譯

public class helloworld {

public static void main(String[] args) throws IOException {

    //通過字符串動態(tài)編譯:將字符串存儲成一個臨時文件(io流),然后調(diào)用動態(tài)編譯方法
    String str="public class Hi {public static void main(String[] args){System.out.println(\"HaHa,sxt!\");}}";

    JavaCompiler compiler=ToolProvider.getSystemJavaCompiler(); //得到j(luò)ava的動態(tài)編譯器
    //如果第一個參數(shù)為空則使用控制臺輸入,第二個為空則使用控制臺輸出,第三個為空則使用系統(tǒng)報錯
    //第四個參數(shù)為String類型的可變參數(shù),即相當(dāng)于Sting類型的數(shù)組
    int result=compiler.run(null, null, null,"C:\\Users\\10853\\eclipse-workspace\\lala\\src\\cn\\sxt\\in\\helloworld.java");
    //返回值為0則表示編譯成功,否則為失敗
    System.out.println(result==0?"編譯成功":"編譯失敗");

    //通過Runtime.getRuntime()運(yùn)行編譯好的類
    Runtime run=Runtime.getRuntime();
    Process process=run.exec("java -cp C:\\Users\\10853\\eclipse-workspace\\lala\\src\\cn\\sxt\\in  helloworld");

    InputStream in=process.getInputStream();
    BufferedReader reader=new BufferedReader(new InputStreamReader(in));
    String info="";
    while((info=reader.readLine())!=null)
    {
        System.out.println(info);
    }
    //通過反射運(yùn)行編譯好的類

     try {
         URL[] urls = new URL[] {new URL("file:/"+"C:/myjava/")};
         URLClassLoader loader = new URLClassLoader(urls);
         Class c = loader.loadClass("HelloWorld");
         //調(diào)用加載類的main方法
         Method m = c.getMethod("main",String[].class);
         m.invoke(null, (Object)new String[]{});
         //由于可變參數(shù)是JDK5.0之后才有。
         //m.invoke(null, (Object)new String[]{});會編譯成:m.invoke(null,"aa","bb"),就發(fā)生了參數(shù)個數(shù)不匹配的問題。
         //因此,必須要加上(Object)轉(zhuǎn)型,避免這個問題。
         //public static void main(String[] args)

     } catch (Exception e) {
         e.printStackTrace();
     }

}
}

文章標(biāo)題:java動態(tài)編譯
標(biāo)題鏈接:http://www.chinadenli.net/article28/jdjsjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計企業(yè)網(wǎng)站制作網(wǎng)站內(nèi)鏈定制開發(fā)網(wǎng)站設(shè)計商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)