用类加载器的方式管理资源和配置文件

来源:互联网 发布:java图形程序设计 编辑:程序博客网 时间:2024/05/21 22:33

InputStream ips = newFileInputStream("config.properties");

Properties props = newProperties();

props.load(ips);

ips.close();

一定要用完整的路径,但完整的路径不是硬编码,而是运输出来的

      例:getRealPath();//金山词霸/内部


获得资源文件的 第二种方式:(最常用的,但不能取代IO 的方式)

每一个 .class文件都被加载到内存中,这是类加载器的功能。类加载器不但能加载.class文件,还能加载普通文件,例:

InputStream ips =ReflectHashCode.class.getClassLoader().getResourceAsStream(“cn/itcast/day1/config.properties”);

 

//在cn/itcase/day1 目录下查找 config.properties文件

//通过类的class找到类加载器( getClassLoader() ),然后用类加载器加载普通文件( getResourceAsStream(), 在classpath指定的目录下逐一的查找要加载的文件) 

配置文件都放在 存放类( .class)文件的目录下

 

获得资源文件的 第三种方式

class 本身也自带一种加载资源文件的方式,实际上是内部调用了classloader,例:

InputStream ips =ReflectHashCode.getResourceAsStream(“config.properties”);

只需要写要加载的配置文件的名字就可以,不需要写目录,相对路径,默认在自己所在的包下面查找。如果在所在包的子包下面,路径添加子包名称,例:resource/config.properties

还可以用绝对路径如果上例改为,cn/itcast/day1/config.properties 就成了绝对路径,默认从classpath的根目录下查找,这时候就要从根开始写上完整的绝对路径

0 0
原创粉丝点击