java利用classloader加载资源
2012-09-18 15:59
357 查看
java中资源加载大体有以下几种方式:
一、使用系统的classloader加载。例如在eclipse中ClassLoader.getSystemClassLoader().getResourceAsStream("a.txt"); 会在bin目录下寻找a.txt;如果要在子目录下加载资源,则路径不能以 ‘/’ 开头;
二、使用类加载。InputStream in=XXX.class.getResourceAsStream("a.txt"); 在XXX类目录下寻找a.txt;
三、使用类的classloader加载。XXX.class.getClassLoader().getResourceAsStream("a.txt"); 在XXX类目录下寻找a.txt;
四、使用Classloader静态方法加载。ClassLoader.getSystemResourceAsStream("a.txt"); 在bin目录下寻找a.txt。
理解这四类的关键在于使用Classloader加载资源时把bin目录当做基目录;而使用Class加载是把类所在目录当基目录。
另外可以认为所有的路径开头都不能有 '/' 字符。
一、使用系统的classloader加载。例如在eclipse中ClassLoader.getSystemClassLoader().getResourceAsStream("a.txt"); 会在bin目录下寻找a.txt;如果要在子目录下加载资源,则路径不能以 ‘/’ 开头;
二、使用类加载。InputStream in=XXX.class.getResourceAsStream("a.txt"); 在XXX类目录下寻找a.txt;
三、使用类的classloader加载。XXX.class.getClassLoader().getResourceAsStream("a.txt"); 在XXX类目录下寻找a.txt;
四、使用Classloader静态方法加载。ClassLoader.getSystemResourceAsStream("a.txt"); 在bin目录下寻找a.txt。
理解这四类的关键在于使用Classloader加载资源时把bin目录当做基目录;而使用Class加载是把类所在目录当基目录。
另外可以认为所有的路径开头都不能有 '/' 字符。
相关文章推荐
- Java利用classloader从classpath加载资源
- java ClassLoader加载资源
- java ClassLoader 类加载资源详解
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件 .
- Java中各类ClassLoader加载时资源搜索路径
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件
- Java Class的热替换 自定义ClassLoader加载.class(java热部署实现 )
- Java使用URLClassLoader加载指定位置的类
- java classloader的加载几只
- Java ClassLoader加载机制理解
- getClassLoader()用类加载器加载资源文件
- Java-利用Spring提供的Resource/ResourceLoader接口操作资源文件
- Java Class的热替换 自定义ClassLoader加载.class(java热部署实现 )
- Java class.getClassLoader().getResource("")获取资源路径
- Java ClassLoader 类加载器
- Java中用ClassLoader载入各种资源(类、文件、web资源)的方法
- Java ClassLoader基础及加载不同依赖 Jar 中的公共类
- 运用URLClassLoader加载外部jar包的java类,生成Class文件