<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 的搜索路徑加載類和資源。這里假定任何以 '/' 結(jié)束的 URL 都是指向目錄的。如果不是以該字符結(jié)束,則認(rèn)為該 URL 指向一個將根據(jù)需要打開的 JAR 文件。 
        注意: 如果在傳遞URL的時候使用磁盤路徑的時候需要加上"file:/"前綴.

    JarFile
    JarFile 類用于從任何可以使用 Java.io.RandomAccessFile 打開的文件中讀取 jar 文件的內(nèi)容。它擴(kuò)展了 Java.util.zip.ZipFile 類,使之支持讀取可選的 Manifest 條目。Manifest 可用于指定關(guān)于 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
    主站蜘蛛池模板: 国内免费高清在线观看| 2019中文字幕免费电影在线播放 | 91丁香亚洲综合社区| 亚洲日韩看片无码电影| 曰批免费视频播放在线看片二| 一级中文字幕免费乱码专区| 免费久久人人爽人人爽av| 亚洲一级免费毛片| 国产区卡一卡二卡三乱码免费| 国外亚洲成AV人片在线观看| 亚洲国产成人久久综合碰碰动漫3d| 亚洲人成在线中文字幕| 黄色免费网址大全| 四虎影视无码永久免费| av无码久久久久不卡免费网站| 国产精品久免费的黄网站| 国产亚洲综合一区柠檬导航| 国产99在线|亚洲| 久久国产乱子伦精品免费午夜| 日本zzzzwww大片免费| 亚洲?V无码成人精品区日韩| 亚洲avav天堂av在线不卡| 亚洲欧洲免费无码| 最新亚洲成av人免费看| 最近最新的免费中文字幕| 国产亚洲大尺度无码无码专线 | 我想看一级毛片免费的| 国产成人精品久久亚洲高清不卡 | 亚洲欧洲国产精品久久| 视频免费1区二区三区| 13一14周岁毛片免费| 亚洲精品网站在线观看不卡无广告 | 亚洲免费视频观看| 国产黄在线播放免费观看| 无码区日韩特区永久免费系列| 久久精品亚洲男人的天堂| 亚洲粉嫩美白在线| 大地资源中文在线观看免费版| 日韩一级视频免费观看| 亚洲综合无码一区二区三区| 2022国内精品免费福利视频|