java通过spring获取配置文件_关于properties文件的读取(Java/spring/springmvc/springboot)...

一.Java读取properties文件

1、基于ClassLoder读取配置文件

注意:该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便。

1 Properties properties = newProperties();2 //使用ClassLoader加载properties配置文件生成对应的输入流

3 InputStream in = PropertiesMain.class.getClassLoader().getResourceAsStream("config/config.properties");4 //使用properties对象加载输入流

5 properties.load(in);6 //获取key对应的value值

7 properties.getProperty(String key);

2、基于 InputStream 读取配置文件

注意:该方式的优点在于可以读取任意路径下的配置文件

1 Properties properties = newProperties();2

3 //使用InPutStream流读取properties文件

4

5 BufferedReader bufferedReader = new BufferedReader(new FileReader("E:/config.properties"));6

7 properties.load(bufferedReader);8

9 //获取key对应的value值properties.getProperty(String key);

3、通过 java.util.ResourceBundle 类来读取,这种方式比使用 Properties 要方便一些

1>通过 ResourceBundle.getBundle() 静态方法来获取(ResourceBundle是一个抽象类),这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可

1 properties.getProperty(String key);2 //config为属性文件名,放在包com.test.config下,如果是放在src下,直接用config即可

3 ResourceBundle resource = ResourceBundle.getBundle("com/test/config/config");4 String key = resource.getString("keyWord");

2>从 InputStream 中读取,获取 InputStream 的方法和上面一样,不再赘述

1 ResourceBundle resource = new PropertyResourceBundle(inStream);

注意:在使用中遇到的最大的问题可能是配置文件的路径问题,如果配置文件入在当前类所在的包下,那么需要使用包名限定,如:config.properties入在com.test.config包下,则要使用com/test/config/config.properties(通过Properties来获取)或com/test/config/config(通过ResourceBundle来获取);属性文件在src根目录下,则直接使用config.properties或config即可。

以下是几种方式的代码参考:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagecom.test.properties;2

3 importjava.io.BufferedInputStream;4 importjava.io.File;5 importjava.io.FileInputStream;6 importjava.io.IOException;7 importjava.io.InputStream;8 importjava.util.Enumeration;9 importjava.util.Properties;10

11 importorg.springframework.core.io.support.PropertiesLoaderUtils;12

13 /**

14 *15 * @ClassName: TestProperties16 * @Description: 获取配置文件信息17 * @date: 2017年11月25日 上午10:56:0018 *@version: 1.0.019 */

20 public classTestProperties {21

22

23 /**

24 *25 * @Title: printAllProperty26 * @Description: 输出所有配置信息27 *@paramprops28 *@returnvoid29 *@throws

30 */

31 private static voidprintAllProp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值