• <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

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

            動態(tài)生成編譯運行java類

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

            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的唯一一個用途呵呵.

            posted on 2009-08-03 20:24 肥仔 閱讀(436) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

            精品人妻伦一二三区久久| 无码国内精品久久人妻| 91精品国产高清久久久久久91| 97久久精品无码一区二区| 久久av免费天堂小草播放| 亚洲欧洲日产国码无码久久99| 久久九九精品99国产精品| 久久久久久国产a免费观看不卡| 亚洲国产精品成人AV无码久久综合影院| 久久久久高潮综合影院| 99久久99久久精品国产片果冻| 亚洲精品无码久久久久久| 青青久久精品国产免费看| 国产一久久香蕉国产线看观看| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 中文字幕亚洲综合久久| 亚洲国产另类久久久精品黑人 | 亚洲AV日韩精品久久久久久久| 国产A级毛片久久久精品毛片| 久久精品九九亚洲精品| 四虎国产精品成人免费久久| 99久久www免费人成精品| 99久久中文字幕| 久久久久无码精品国产不卡| 久久www免费人成看片| 久久综合视频网站| 午夜精品久久久久9999高清| 国产真实乱对白精彩久久| …久久精品99久久香蕉国产| 久久亚洲美女精品国产精品| 久久精品国产亚洲AV蜜臀色欲 | 久久国产成人午夜aⅴ影院| 久久天堂电影网| 国产成人综合久久综合| 久久久久国产一级毛片高清版| 久久人人爽人人爽人人片AV东京热 | 久久精品一区二区三区AV| 国内精品久久国产| 久久国产免费直播| 国产成人久久精品区一区二区| 国产精品久久影院|