<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
    主站蜘蛛池模板: 国产成人免费高清激情视频| 免费无码一区二区三区| 亚洲成aⅴ人片在线影院八| 国产精品极品美女自在线观看免费 | 国产成人精品日本亚洲网址| 国产猛男猛女超爽免费视频| 国产91免费在线观看| 最新仑乱免费视频| 在线aⅴ亚洲中文字幕| 香蕉高清免费永久在线视频| 久久久久久久尹人综合网亚洲| 国产特黄特色的大片观看免费视频| 亚洲日本中文字幕一区二区三区| 国产免费AV片在线观看播放| 亚洲精品乱码久久久久久中文字幕 | 日本免费福利视频| 国产综合成人亚洲区| 亚洲视频人成在线播放| 国内精品免费在线观看| 久久久亚洲精品国产| 亚洲AV无码专区在线观看成人| 国产成人无码区免费A∨视频网站| 美女18一级毛片免费看| 亚洲色爱图小说专区| 亚洲综合免费视频| 亚洲国产精品美女久久久久| 亚洲真人日本在线| 中文字幕亚洲免费无线观看日本| 亚洲狠狠爱综合影院婷婷| 亚洲精品国产av成拍色拍| 精品国产亚洲一区二区在线观看| 亚洲avav天堂av在线网毛片| 亚洲一级片免费看| 24小时免费看片| 苍井空亚洲精品AA片在线播放 | 日韩免费三级电影| 中国毛片免费观看| 2022中文字字幕久亚洲| 在线免费观看国产| 免费毛片毛片网址| 免费国产成人高清视频网站|