Java中getClassLoader().getResourceAsStream("XXX")的用法
2013-08-17 10:07
627 查看
动态加载文件的时候经常用
InputStream is = XMLAnalyzer.class.getClassLoader().getResourceAsStream("test.xml");
首先
xxxxx.class 是获得xxxx这个类对应的Class对象,任何一个类被装载进入虚拟机,都会为这个类生成一个java.lang.Class对象来指代这个类,通过这个对象,你可以访问和控制xxxx这个类的一些特性。
getClassLoader()
获得此类类加载器
getResourceAsStream("")
获取文件的流
但是经常有路径问题
class 和 classloader都有这个方法
如果文件放在根目录下
1,用Class.getResourceAsStream() 时,路径应该是以"/"开头的,如:
class.getResourceAsStream("/...");
如果不加'/',说明从本类包下加载
2,如果直接用ClassLoader的getResourceAsStream() 不用以"/"开头.如,
class.getResourceAsStream("......");
想到调用包下的资源就要
class.getResourceAsStream("com/jm/...");
其实class的getResourceAsStream("")是委托classloader来完成的,本质还是classLoader实现,不过直接用class用起来方便一些。
其实他们还有共同的另一个方法
URL url1 = XXXX.getResource("");
两个用法与getResourceAsStream()相同,只不过是获得的是一个URL
InputStream is = XMLAnalyzer.class.getClassLoader().getResourceAsStream("test.xml");
首先
xxxxx.class 是获得xxxx这个类对应的Class对象,任何一个类被装载进入虚拟机,都会为这个类生成一个java.lang.Class对象来指代这个类,通过这个对象,你可以访问和控制xxxx这个类的一些特性。
getClassLoader()
获得此类类加载器
getResourceAsStream("")
获取文件的流
但是经常有路径问题
class 和 classloader都有这个方法
如果文件放在根目录下
1,用Class.getResourceAsStream() 时,路径应该是以"/"开头的,如:
class.getResourceAsStream("/...");
如果不加'/',说明从本类包下加载
2,如果直接用ClassLoader的getResourceAsStream() 不用以"/"开头.如,
class.getResourceAsStream("......");
想到调用包下的资源就要
class.getResourceAsStream("com/jm/...");
其实class的getResourceAsStream("")是委托classloader来完成的,本质还是classLoader实现,不过直接用class用起来方便一些。
其实他们还有共同的另一个方法
URL url1 = XXXX.getResource("");
两个用法与getResourceAsStream()相同,只不过是获得的是一个URL
相关文章推荐
- 【JAVA学习】读取文件getClassLoader().getResourceAsStream("xxx")
- ClassLoader.getResourceAsStream(name); ---java读取配置文件
- java 路径、className.class.getResourceAsStream()、ClassLoader.getSystemResourceAsStream() 、FileInputStream
- 关于InputStream in = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties")的介绍
- JAVA 笔记xx.getClass().getClassLoader().getResourceAsStream()
- properties.load(DBUtil.class.getClassLoader().getResourceAsStream("Oracle.properties"))是什么意思
- 正确使用Class.getResourceAsStream("")与Class.getClassLoader().getResourceAsStream("")
- Class.getResourceAsStream()和Class.getClassLoader().getResourceAsStream()用法
- Java中getResourceAsStream的用法Java中getResourceAsStream的用法 首先,Java中的getResourceAsStream有以下几种: 1. Class
- java中getResourceAsStream(String path)与getClassLoader.getResourceAsStream(String path)
- getResource与getClassLoader .getResource 与getResourceAsStream的用法区别
- JavaWeb基础 ClassLoader getResourceAsStream 读取类路径下的文件
- java 路径、className.class.getResourceAsStream()、ClassLoader.getSystemResourceAsStream() 、FileInputStream
- 关于 InputStream in = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties")简单介绍
- [java]getClass()、getClassLoader()、getResource()、getResourceAsStream()区别
- InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("dbconfig.properties")的作用
- JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别
- JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别
- Java笔记——Class.getResourceAsStream和ClassLoader.getResourceAsStream
- JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别