• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            動(dòng)態(tài)生成編譯運(yùn)行java類(lèi)

               本代碼并非原創(chuàng),是在我以前的學(xué)習(xí)筆記里面翻閱出來(lái)的,是csdn里面一位叫路人甲的朋友在論壇里面的回復(fù),也許在這里發(fā)出來(lái)會(huì)幫助到很多朋友.其實(shí)十分簡(jiǎn)單就不加注釋了,一共就3步,生成java文件,編譯java文件,運(yùn)行java類(lèi),

            package com.syj;

            import java.io.File;
            import java.io.FileWriter;
            import java.lang.reflect.Method;

            public class CreateClass {
               
            private static String CLASS_NAME = "CreateClassTest";
               
            private static String CLASS_FILE = CLASS_NAME + ".java";

               
            public static void main(String args[]) {
                    CreateClass mtc
            = new CreateClass();
                    mtc.createClass();
                    System.out.println(
            "javac " + CLASS_FILE);
                    mtc.compileClass();
                    System.out.println(
            "java " + CLASS_NAME);
                    mtc.runClass();
                }

               
            public void createClass() {
                   
            try {
                       
            new File(CLASS_FILE).delete();
                        FileWriter aWriter
            = new FileWriter(CLASS_FILE, true);
                        aWriter.write(
            "public   class   " + CLASS_NAME + "{");
                        aWriter.write(
            "public   void   println()   {");
                        aWriter.write(
            "System.out.println("=" + CLASS_NAME + "=");");
                        aWriter.write(
            "}}");
                        aWriter.flush();
                        aWriter.close();
                    }
            catch (Exception e) {
                        e.printStackTrace();
                    }
                }

               
            public void compileClass() {
                    String filePath
            = new File(CreateClass.class.getClassLoader()
                            .getResource(
            "").getFile()).getAbsolutePath();
                    String[] source
            = { "-d", filePath, new String(CLASS_FILE) };
                    System.out.println(
            "javac out:"
                           
            + com.sun.tools.javac.Main.compile(source));
                }

               
            public void runClass() {
                   
            try {
                        Class params[]
            = {};
                        Object paramsObj[]
            = {};
                        Class testClass
            = Class.forName(CLASS_NAME);
                        Object iClass
            = testClass.newInstance();
                        Method thisMethod
            = testClass.getDeclaredMethod("println", params);
                        thisMethod.invoke(iClass, paramsObj);
                    }
            catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }

            需要引入%JAVA_HOME%\lib\tools.jar;這也是我遇到的tools.jar的唯一一個(gè)用途呵呵.

            posted on 2009-08-03 20:24 肥仔 閱讀(434) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Web-后臺(tái)

            国产福利电影一区二区三区久久久久成人精品综合 | 久久精品国产亚洲综合色| 久久成人国产精品| 婷婷久久综合九色综合绿巨人| 亚洲乱码中文字幕久久孕妇黑人| 久久99精品国产99久久6男男| 91精品久久久久久无码| 久久精品麻豆日日躁夜夜躁| www亚洲欲色成人久久精品| 久久无码国产| 久久精品亚洲精品国产欧美| www.久久热| 精品国产福利久久久| 亚洲国产日韩欧美综合久久| 久久精品国产亚洲一区二区三区| 亚洲中文字幕无码久久综合网| 婷婷国产天堂久久综合五月| 日批日出水久久亚洲精品tv| 亚洲AV无码久久精品蜜桃| 国产精品丝袜久久久久久不卡| 久久AV高清无码| 久久人人爽人人人人片av| 亚洲人成电影网站久久| 一本一道久久精品综合| 色偷偷88888欧美精品久久久| 久久婷婷五月综合97色直播| 国内精品久久久久久久涩爱| 欧美激情精品久久久久久| 国产精品久久影院| 日韩久久久久久中文人妻| 亚洲性久久久影院| 久久成人国产精品一区二区| 日本一区精品久久久久影院| 青青青青久久精品国产h久久精品五福影院1421 | 色欲av伊人久久大香线蕉影院| 久久国产精品无码网站| 久久99精品国产麻豆不卡| 热99re久久国超精品首页| 色综合久久综精品| 狠狠色伊人久久精品综合网| 久久精品国产一区二区三区不卡 |