读取配置文件两种方法区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/IUNIQUE/article/details/83960759

在日常应用中,我们可能会在工程中读取配置文件(类似于.properties),下面介绍两种方法的应用于区别:

  • 第一种:this.getClass().getClassLoader().getResourceAsStream(configFileName)

调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,而后在类类型上调用getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就是保证是和类类型同一个加载器加载的。

注:使用这个方法,就是加载src下面的资源,configFileName从src下面开始写,例如:src下面有个config文件夹,文件夹里面有个配置文件config.properties,那么configFileName就是config/config.properties

  • 第二种:App.class.getResourceAsStream(configFileName);

这个方法这里用一个例子来阐述一下,例如,和上面一样,同样也是config文件,里面有配置文件,使用这个方法时,写configFileName得根据App.class来写,如果App.class在src下面的com.test包里面,那么configFileName就是…/…/config/config.properties。

猜你喜欢

转载自blog.csdn.net/IUNIQUE/article/details/83960759