<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0

    URLClassLoader
        該類加載器用于從指向 JAR 文件和目錄的 URL 的搜索路徑加載類和資源。這里假定任何以 '/' 結束的 URL 都是指向目錄的。如果不是以該字符結束,則認為該 URL 指向一個將根據需要打開的 JAR 文件。 
        注意: 如果在傳遞URL的時候使用磁盤路徑的時候需要加上"file:/"前綴.

    JarFile
    JarFile 類用于從任何可以使用 Java.io.RandomAccessFile 打開的文件中讀取 jar 文件的內容。它擴展了 Java.util.zip.ZipFile 類,使之支持讀取可選的 Manifest 條目。Manifest 可用于指定關于 jar 文件及其條目的元信息。


    主要代碼如下:

    package com.founder.test;

    import Java.io.File;
    import Java.io.IOException;
    import Java.net.MalformedURLException;
    import Java.net.URL;
    import Java.net.URLClassLoader;
    import Java.util.ArrayList;
    import Java.util.Enumeration;
    import Java.util.List;
    import Java.util.jar.JarEntry;
    import Java.util.jar.JarFile;

    public class ReadDriverUtil {

     public static List<String> getDriverNames(String jarPath) {
      URLClassLoader clazzLoader;
      List<String> driverNames = new ArrayList<String>();
      try {
       clazzLoader = new URLClassLoader(new URL[]{new URL("file:/" + jarPath)});
       JarFile jarFile = new JarFile(new File(jarPath));
       Enumeration<JarEntry> entries = jarFile.entries();
       List<String> classNames = new ArrayList<String>();
       while (entries.hasMoreElements()) {
        JarEntry entry = entries.nextElement();
        if (!entry.isDirectory() && entry.getName().endsWith(".class") && entry.getName().toLowerCase().indexOf("driver") != -1) {
         int index = entry.getName().indexOf(".class");
         classNames.add(entry.getName().replaceAll("/", ".").substring(0, index));
        }
       }
       for(String className : classNames) {
        try {
         Class clz = clazzLoader.loadClass(className);
         if (java.sql.Driver.class.isAssignableFrom(clz)) {
          driverNames.add(className);
         }
        } catch (ClassNotFoundException e) {
         e.printStackTrace();
        }
       }
      } catch (MalformedURLException e1) {
       e1.printStackTrace();
      } catch (IOException e) {
       e.printStackTrace();
      }
      
      return driverNames;
     }
    }

    posted on 2009-05-26 15:58 周銳 閱讀(845) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲欧美乱色情图片| 亚洲午夜精品一区二区麻豆| eeuss影院免费直达入口| 国产麻豆剧传媒精品国产免费| 亚洲午夜精品久久久久久app| 国产一卡2卡3卡4卡无卡免费视频 国产一卡二卡3卡四卡免费 | 亚洲一区二区三区无码中文字幕| 成人特级毛片69免费观看| 亚洲 自拍 另类小说综合图区 | 亚洲高清有码中文字| 成人毛片免费在线观看| 亚洲av成人一区二区三区在线播放 | 亚洲色图综合网站| 无码国产精品一区二区免费| 亚洲妇女熟BBW| 国产免费观看a大片的网站| 一级毛片大全免费播放| 日韩精品亚洲aⅴ在线影院| 午夜精品免费在线观看| 亚洲国产日韩在线| 在线成人a毛片免费播放| 免费毛片毛片网址| 亚洲AV无一区二区三区久久| 国内精品免费麻豆网站91麻豆| 亚洲熟妇无码AV不卡在线播放 | 日韩电影免费在线观看网址| 亚洲精品无码mv在线观看网站| 99蜜桃在线观看免费视频网站| 在线综合亚洲欧洲综合网站| 无码专区一va亚洲v专区在线| caoporn成人免费公开| 伊人久久综在合线亚洲2019| 德国女人一级毛片免费| 国内永久免费crm系统z在线| 亚洲免费福利在线视频| 亚洲熟妇av一区二区三区漫画| 免费可以看黄的视频s色| 色老头综合免费视频| 亚洲欧洲日产国码二区首页| 亚洲女人被黑人巨大进入| 91老湿机福利免费体验|