Class.getResourceAsStreame 类文件读取配置文件信息

来源:互联网 发布:淘宝欢乐逛 编辑:程序博客网 时间:2024/06/05 09:21

Class.getResourceAsStreame 类文件读取配置文件信息


一、为什么要读取配置信息

1、一般需要经常变动的文件信息,需要将他们放到配置文件中,这样做是为了在更改信息的时候比在java代码中改变方便。比如JDBC链接数据库的URL地址和用户名、密码。需要配置到配置文件中方便修改


二、如何读取配置文件中的信息

Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致。
     例如
写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下

查找响应的资源。
     如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找。
  
 ClassLoader.getResourceAsStream()  无论要查找的资源前面是否带'/' 都会从classpath的根路径下查找。
    所以: MyTest.getClassLoader().getResourceAsStream("name") 和
            MyTest.getClassLoader().getResourceAsStream("name") 的效果是一样的。

三、读取同类下的配置文件实例

(这种方式一般用在读取同类下目录的文件,如果是不在同类路径下,即跨路径读取需要用到类加载器方式)

1、实例介绍:ReadFile类下面创建一个配置文件 prepertie文件,ReadFile并且读取这个配置文件。


2、实现读取配置文件实例

package com.test.test;import java.io.IOException;import java.io.InputStream;import java.net.URL;import org.junit.Test;public class ReadFile {//读取同目录下下的文件  读取IO字节码@Testpublic void readSelf() throws IOException{//1、直接使用本类字节码读取本类文件InputStream in = ReadFile.class.getResourceAsStream("jdbc.prepertie");//2、创建一个数组,遍历读取到的文件byte[] by = new byte[in.available()];int len = in.read(by);String s = new String(by,0,len);System.out.println(s);}//读取同目录下下的文件  读取URL路径@Testpublic void readURL(){//1、通过本类读取本类目录下的文件目录URL url = ReadFile.class.getResource("jdbc.prepertie");//2、获取url路径String path = url.getPath();System.out.println(path);}}


3、运行结果


阅读全文
0 0