java 中Configuration 和 Properties使用归类

本文介绍了如何使用Hadoop的Configuration类读取XML配置文件,以及如何利用Properties类读取键值对文件。示例中展示了加载test-site.xml和testa.properties文件的过程,并分别获取其中的'user'和'password'值。此外,还提供了测试用例以展示这两种配置文件的读取方式。
摘要由CSDN通过智能技术生成

1、pom依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
</dependency>

2、 Configuration读取的是xml文件,准备了一个test-site.xml文件

2.1 准备一个 test-site.xml 文件

<?xml version="1.0" encoding="UTF-8"?>

<!--Autogenerated by Cloudera Manager-->
<configuration>
  <property>
    <name>user</name>
    <value>root</value>
  </property>

  <property>
    <name>password</name>
    <value>1234</value>
  </property>
</configuration>

2.2 Configuration 类的使用

import org.apache.hadoop.conf.Configuration;
import org.junit.Test;

import java.io.FileInputStream;
import java.net.URL;
import java.util.Properties;

/**
 * User: shugj
 * Date:  2022-08-18 09:03
 */

public class TestConf1{

    // Configuration读取的是xml文件,准备了一个test-site.xml文件
    @Test
    public void testConf() throws Exception {

        // 创建Configuration对象
        Configuration conf = new Configuration();

        // 加载xml文件
        conf.addResource("test-site.xml");

        // 通过xml中配置的name标签获取value值
        String user = conf.get("user");
        String password = conf.get("password");

        // 输出
        System.out.println("user:" + user);
        System.out.println("password:" + password);

        // 输出的是加载的哪些xml文件
        System.out.println(conf);

    }
}

3、Properties 读取的是键值对文件(testa.properties)

3.1、准备一个 testa.properties 文件

user=root
password=54321 

3.2、 Properties 类使用

import org.apache.hadoop.conf.Configuration;
import org.junit.Test;

import java.io.FileInputStream;
import java.net.URL;
import java.util.Properties;

/**
 * User: shugj
 * Date:  2022-08-18 09:03
 */

public class TestConf2 {


    // Properties 读取的是键值对文件(testa.properties)
    @Test
    public void testProperties() throws Exception {

        // 创建Properties对象
        Properties properties = new Properties();

        // 加载文本文件,文本格式  user=root
        // 这里我自己的绝对路径
        properties.load( new FileInputStream("D:\\workspace2\\gmall-flink-20220812\\gmall-realtime\\src\\main\\resources\\testa.properties"));


        // 转换成HashMap的键值对格式
        System.out.println(properties);

        // 通过键获取值
        System.out.println("user:" + properties.getProperty("user"));
        System.out.println("password:" + properties.getProperty("password"));


    }
}

4、总结一张思维导图方便回忆

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值