<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 周銳 閱讀(848) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 100000免费啪啪18免进| 无码日韩精品一区二区免费暖暖| 国产成人精品免费视| 亚洲AV无码久久精品成人| 成全高清在线观看免费| 在线亚洲精品自拍| 中国好声音第二季免费播放| 亚洲人成色7777在线观看| aa级毛片毛片免费观看久| 国产AV无码专区亚洲AVJULIA| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 亚洲精品福利网站| 18pao国产成视频永久免费| 亚洲美女视频网址| 在线看片无码永久免费视频| 四虎必出精品亚洲高清| 日本免费一二区在线电影| 免费国产a理论片| 国产偷国产偷亚洲清高动态图 | 一级大黄美女免费播放| 毛茸茸bbw亚洲人| 青柠影视在线观看免费高清| 亚洲四虎永久在线播放| 国产精品久久久久免费a∨| 成人亚洲国产va天堂| 亚洲AV网站在线观看| 中文永久免费观看网站| 中文字幕亚洲精品资源网| 欧洲精品成人免费视频在线观看 | 亚洲经典在线中文字幕| 成年女人男人免费视频播放| 黄人成a动漫片免费网站| 亚洲精品国产精品乱码视色| h视频在线观看免费网站| 国产精品亚洲AV三区| 亚洲一区二区三区AV无码| 免费观看激色视频网站bd | 亚洲精品成a人在线观看夫| 国产亚洲大尺度无码无码专线| 中国人xxxxx69免费视频| 婷婷亚洲综合一区二区|