如何读取解析配置文件的内容

使用commons-configuration读取配置文件的内容

引入依赖

<dependency>
    <groupId>commons-configuration</groupId>
    <artifactId>commons-configuration</artifactId>
    <version>1.10</version>
</dependency>

<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.2</version>
</dependency>

配置文件存放路径

在这里插入图片描述

读取properties文件

使用FileChangedReloadingStrategy修改后即使不重启,也能获取到最新的内容

@Test
public void test1() throws ConfigurationException, InterruptedException{
	PropertiesConfiguration cfg = new PropertiesConfiguration("./static/config.properties");
	// 当文件的内容发生改变时,配置对象也会刷新,无需重启服务
	cfg.setReloadingStrategy(new FileChangedReloadingStrategy());
	while(true){
		System.out.println(cfg.getString("name"));;
		System.out.println(cfg.getInt("age"));
		System.out.println(cfg.getBoolean("flag"));
		System.out.println(cfg.getStringArray("list"));
		System.out.println(cfg.getList("list"));
		Thread.sleep(5000L);
	}
}


内容:

name=xiao
age=21
flag=false
list=red,blue

读取xml文件

使用FileChangedReloadingStrategy修改后即使不重启,也能获取到最新的内容

@Test
public void test2() throws ConfigurationException{
	ClassLoader classLoader = this.getClass().getClassLoader();
	URL resource = classLoader.getResource("./static/config.xml");
	
	//这里换一种方式读取文件,先获取到文件绝对路径,再读取
	XMLConfiguration cfg = new XMLConfiguration(resource);

	// 当文件的内容发生改变时,配置对象也会刷新
	cfg.setReloadingStrategy(new FileChangedReloadingStrategy());
	
	//直接获取,注意不需要最外层的config标签名称
	System.out.println(cfg.getString("database.url"));;
	System.out.println(cfg.getString("database.port"));;
	System.out.println(cfg.getString("database.login"));;
	System.out.println(cfg.getString("database.password"));;
	
	//获取到document,接下来就可以解析xml标签了
	Document document = cfg.getDocument();
	
}

xml内容:

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <database>
        <url>127.0.0.1</url>
        <port>8080</port>
        <login>admin</login>
        <password>admin</password>
    </database>
</config>

spring 中读取Properties配置文件的内容

spring 中读取Properties配置文件: https://www.jb51.net/article/140459.htm.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值