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

            逛奔的蝸牛

            我不聰明,但我會(huì)很努力

               ::  :: 新隨筆 ::  ::  :: 管理 ::

            package com.biao.util;


            import java.io.File;

            import java.net.URL;

            import java.net.URLClassLoader;


            import com.biao.ActionInterface;


            /**

             * 使用URLClassLoader動(dòng)態(tài)的加載Class類和jar包中的類. 這樣,可以把這些類路徑放在配置文件中,動(dòng)態(tài)的加載.

             */

            public class ClassLoaderUtil extends URLClassLoader {

                private static ClassLoaderUtil instance = new ClassLoaderUtil();


                public ClassLoaderUtil() {

                    super(new URL[0]);

                }


                public static ClassLoaderUtil getInstance() {

                    return instance;

                }


                /**

                 * 加載類,如果找不到這個(gè)類,則返回null.

                 * 

                 * @param path 類所有目錄或者所在jar文件的路徑.

                 * @param className 要加載的類的名字

                 * @return 返回類的實(shí)例。如果找不到這個(gè)類,則返回null.

                 */

                public Object loadClass(String path, String className) {

                    Object obj = null;


                    try {

                        URL url = new File(path).toURI().toURL();

                        addURL(url); // 同一個(gè)目錄只會(huì)保存一個(gè)url

                        Class clazz = loadClass(className); // 加載類

                        obj = clazz.newInstance();

                    } catch (Exception e) {

                        e.printStackTrace();

                    }


                    return obj;

                }


                public static void main(String[] args) {

                    // 傳入jar包路徑或者Class所在目錄(不包括包名)

                    // 加載包中的類

                    ActionInterface ai = (ActionInterface) ClassLoaderUtil.getInstance().loadClass(

                        "plugins/ai_test.jar", "com.biao.MyAction");

                    System.out.println(ai.action());


                    // 加載某目錄下的類

                    ai = (ActionInterface) ClassLoaderUtil.getInstance().loadClass(

                        "/Users/Biao/Documents/Workspace/NewWork/JT2/bin/", "com.biao.MyAction2");

                    System.out.println(ai.action());


                    ai = (ActionInterface) ClassLoaderUtil.getInstance().loadClass(

                        "/Users/Biao/Documents/Workspace/NewWork/JT2/bin", "com.biao.MyAction2");

                    System.out.println(ai.action());


                    URL[] urls = ClassLoaderUtil.getInstance().getURLs();

                    for (URL url : urls) {

                        System.out.println(url.getFile());

                    }

                }

            }

            posted on 2010-05-19 22:25 逛奔的蝸牛 閱讀(1708) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Java

            評(píng)論

            # re: Java:類的動(dòng)態(tài)加載[未登錄] 2016-04-20 17:07 123
            system.out.print(0) ;  回復(fù)  更多評(píng)論
              

            狠狠色噜噜色狠狠狠综合久久| 久久国产香蕉一区精品| 一本色道久久88综合日韩精品 | 91精品无码久久久久久五月天| 亚洲成色www久久网站夜月| 九九久久自然熟的香蕉图片| 国产欧美久久久精品| 欧美一级久久久久久久大| 99久久99久久精品国产片果冻 | 久久99精品久久久久久野外| 伊人久久大香线蕉精品不卡| 国内精品久久久人妻中文字幕| 久久精品18| 国产一久久香蕉国产线看观看| 国内精品久久久久影院亚洲| 久久99久久99小草精品免视看| 久久久久亚洲AV成人网人人网站| 精品久久久久久亚洲精品| 亚洲国产精品狼友中文久久久| 久久精品毛片免费观看| 四虎国产精品成人免费久久| 久久国产精品99国产精| 伊人久久五月天| 日本加勒比久久精品| 伊人久久综合热线大杳蕉下载| 久久永久免费人妻精品下载| 国产精品久久久久久久久久影院| 精品欧美一区二区三区久久久| 国产一区二区三区久久精品| 久久久精品人妻一区二区三区蜜桃| 亚洲欧洲精品成人久久奇米网| 国产亚洲精久久久久久无码AV| 国产综合久久久久久鬼色| 久久天天躁狠狠躁夜夜96流白浆| 久久久亚洲裙底偷窥综合| 久久伊人精品一区二区三区| 性高朝久久久久久久久久| 亚洲精品无码专区久久同性男| 人妻中文久久久久| 久久婷婷色综合一区二区| 亚洲精品乱码久久久久久按摩|