欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 讀取類路徑下的資源文件實(shí)現(xiàn)代碼

 更新時(shí)間:2017年07月26日 16:53:22   投稿:lqh  
這篇文章主要介紹了Java 讀取類路徑下的資源文件實(shí)現(xiàn)代碼的相關(guān)資料,主要實(shí)現(xiàn)工具類代碼ResourceLoadUtil.java的實(shí)例需要的朋友可以參考下

Java 讀取類路徑下的資源文件實(shí)現(xiàn)代碼

一、工具類代碼ResourceLoadUtil.java

import java.io.IOException; 
import java.io.InputStream; 
import java.net.URL; 
import java.util.ArrayList; 
import java.util.Enumeration; 
import java.util.List; 
 
public class ResourceLoadUtil { 
 
  /** 
   * @param args 
   */ 
  public static void main(String[] args) { 
    System.out.println("ByClazz...\n--------------------------"); 
    System.out.println(loadResourceByClazz(String.class, "/java/lang/String.class")); 
    System.out.println(loadResourceByClazz(String.class, "/ResourceLoadUtil.class")); 
    System.out.println(); 
 
    System.out.println("ByClasLoader...\n--------------------------"); 
    System.out.println(loadResourceByClassLoader("java/lang/String.class")); 
    System.out.println(loadResourceByClassLoader("ResourceLoadUtil.class")); 
    System.out.println(); 
 
    System.out.println("sByClasLoader...\n--------------------------"); 
    System.out.println(loadResourcesByClassLoader("java/lang/String.class")); 
    System.out.println(loadResourcesByClassLoader("ResourceLoadUtil.class")); 
    System.out.println(loadResourcesByClassLoader("struts-plugin.xml")); 
 
  } 
 
  /** 
   * 根據(jù)Class加載資源文件 
   * 
   * @param clazz 
   * @param path 
   *      以'/'開頭的路徑: 使用絕對(duì)路徑尋找文件(以ClassPath為根路徑開始)<br> 
   *      否則: 使用相對(duì)路徑尋找文件(相對(duì)于clazz位置路徑開始) 
   * @return 
   */ 
  public static InputStream loadResourceByClazz(Class<?> clazz, String path) { 
    return clazz.getResourceAsStream(path); 
  } 
 
  /** 
   * 根據(jù)ClassLoader加載資源文件(單個(gè)), 使用默認(rèn)的ClassLoader! 
   * 
   * @param path 
   *      不能以'/'開頭的路徑 
   * @return 
   */ 
  public static InputStream loadResourceByClassLoader(String path) { 
    return loadResourceByClassLoader(null, path); 
  } 
 
  /** 
   * 根據(jù)ClassLoader加載資源文件(單個(gè)), 使用默認(rèn)的ClassLoader! 
   * 
   * @param path 
   *      不能以'/'開頭的路徑 
   * @return 
   */ 
  public static InputStream loadResourceByClassLoader(ClassLoader cl, String path) { 
    if (cl == null) { 
      cl = Thread.currentThread().getContextClassLoader(); 
    } 
    return cl.getResourceAsStream(path); 
  } 
 
  /** 
   * 根據(jù)ClassLoader加載資源文件(多個(gè)),使用默認(rèn)的ClassLoader! 
   * 
   * @param path 
   *      不能以'/'開頭的路徑 
   * @return 
   */ 
  public static List<URL> loadResourcesByClassLoader(String path) { 
    return loadResourcesByClassLoader(null, path); 
  } 
 
  /** 
   * 根據(jù)ClassLoader加載資源文件(多個(gè)),使用指定的ClassLoader! 
   * 
   * @param path 
   *      不能以'/'開頭的路徑 
   * @return 
   */ 
  public static List<URL> loadResourcesByClassLoader(ClassLoader cl, String path) { 
    if (cl == null) { 
      cl = Thread.currentThread().getContextClassLoader(); 
    } 
    List<URL> urlLst = new ArrayList<URL>(); 
    try { 
      Enumeration<URL> urlsEnum = cl.getResources(path); 
      while (urlsEnum.hasMoreElements()) { 
        URL url = (URL) urlsEnum.nextElement(); 
        urlLst.add(url); 
      } 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    return urlLst; 
  } 
} 
 
 
 

二、執(zhí)行結(jié)果

ByClazz... 
-------------------------- 
sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@11cfb549 
java.io.BufferedInputStream@a422ede 
 
ByClasLoader... 
-------------------------- 
sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@7f12f614 
java.io.BufferedInputStream@35d9dc39 
 
sByClasLoader... 
-------------------------- 
[jar:file:/D:/Java/jdk1.6.0_25/jre/lib/rt.jar!/java/lang/String.class] 
[file:/E:/workspace/JBDS/Spring+Struts2-Integration/target/classes/ResourceLoadUtil.class] 
[jar:file:/E:/360data/%e9%87%8d%e8%a6%81%e6%95%b0%e6%8d%ae/.m2/repository/org/apache/struts/struts2-spring-plugin/2.3.4.1/struts2-spring-plugin-2.3.4.1.jar!/struts-plugin.xml, jar:file:/E:/360data/%e9%87%8d%e8%a6%81%e6%95%b0%e6%8d%ae/.m2/repository/org/apache/struts/struts2-config-browser-plugin/2.3.4.1/struts2-config-browser-plugin-2.3.4.1.jar!/struts-plugin.xml] 

如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • IntelliJ IDEA 2021.1 EAP 1 發(fā)布支持 Java 16 和 WSL 2

    IntelliJ IDEA 2021.1 EAP 1 發(fā)布支持 Java 16 和 WSL 2

    這篇文章主要介紹了IntelliJ IDEA 2021.1 EAP 1 發(fā)布支持 Java 16 和 WSL 2,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Java自動(dòng)生成趨勢(shì)比對(duì)數(shù)據(jù)的方法分享

    Java自動(dòng)生成趨勢(shì)比對(duì)數(shù)據(jù)的方法分享

    這篇文章主要和大家分享了一種Java自動(dòng)生成趨勢(shì)比對(duì)數(shù)據(jù)的方法設(shè)計(jì)及實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Java服務(wù)cpu100%的解決過程分享

    Java服務(wù)cpu100%的解決過程分享

    最近一個(gè)任務(wù)是優(yōu)化一個(gè)導(dǎo)出的功能,但是點(diǎn)擊功能時(shí)發(fā)現(xiàn),程序長(zhǎng)時(shí)間無反應(yīng),過一段時(shí)間又有反應(yīng),通過查看服務(wù)的監(jiān)控發(fā)現(xiàn),服務(wù)存在cpu持續(xù)100%的情況,下面分享一下我的處理方案和過程,需要的朋友可以參考下
    2024-05-05
  • 基于SpringBoot實(shí)現(xiàn)自定義插件的流程詳解

    基于SpringBoot實(shí)現(xiàn)自定義插件的流程詳解

    在SpringBoot中,插件是一種擴(kuò)展機(jī)制,它可以幫助我們?cè)趹?yīng)用程序中快速地添加一些額外的功能,在本文中,我們將介紹如何使用 SpringBoot實(shí)現(xiàn)自定義插件,需要的朋友可以參考下
    2023-06-06
  • 基于java.lang.IllegalArgumentException異常報(bào)錯(cuò)問題及解決

    基于java.lang.IllegalArgumentException異常報(bào)錯(cuò)問題及解決

    這篇文章主要介紹了基于java.lang.IllegalArgumentException異常報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java synchronized關(guān)鍵字使用方式及特性解析

    Java synchronized關(guān)鍵字使用方式及特性解析

    這篇文章主要介紹了Java synchronized關(guān)鍵字使用方式及特性解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • SpringMVC的執(zhí)行流程及組件詳解

    SpringMVC的執(zhí)行流程及組件詳解

    這篇文章主要介紹了SpringMVC的執(zhí)行流程及組件詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java項(xiàng)目之java+springboot+ssm實(shí)現(xiàn)理財(cái)管理系統(tǒng)設(shè)計(jì)

    Java項(xiàng)目之java+springboot+ssm實(shí)現(xiàn)理財(cái)管理系統(tǒng)設(shè)計(jì)

    這篇文章主要介紹了Java項(xiàng)目java+springboot+ssm實(shí)現(xiàn)理財(cái)管理系統(tǒng)設(shè)計(jì),使用了當(dāng)前較為流行的spring boot,spring,spring mvc,mybatis,shiro框架分頁處理使用了pagehelper進(jìn)行操作,需要的朋友可以參考一下
    2022-03-03
  • 超詳細(xì)講解Java異常

    超詳細(xì)講解Java異常

    Java 異常機(jī)制可以使程序中異常處理代碼和正常業(yè)務(wù)代碼分離,保證程序代碼更加優(yōu)雅,并提高程序健壯性。本文超詳細(xì)講解了Java異常,感興趣的小伙伴可以參考一下這篇文章
    2021-09-09
  • JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    這篇文章主要為大家介紹了JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12

最新評(píng)論