Java读取配置文件(Properties类)

摘要:在开发项目的过程中,有些参数或者数据等是需要经常改动的。比如:数据库的配置,ftp路径,落地文件的路径等等。对于这些经常需要改动的数据内容,我们就需要把它们写在一个配置文件当中,然后让程序来读取这个配置文件。这样的话每次修改不需要动代码,安全,方便,快捷!以下内容是在Java中读取配置文件的一些方法的介绍、使用。

Properties类
作用
Properties类主要用于读取Java的配置文件,可以读取后缀是.properties和.cfg的配置文件。
文件内容的格式是:键=值 ,比如:name=张三
文件中内容的注释可以用:#,比如:#我是被注释掉的内容
结构
这里写图片描述
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
常用方法
1. load(InputStream inStream):从输入流中读取属性列表(键和元素对)。
2. getProperty(String key):根据这个键在属性列表中查询对应的值。
实例

配置文件
test1.properties:(以ISO-8859-1编码格式的)
name=zhangsan
address=\u5317\u4EAC

test2.cfg:(以ISO-8859-1编码格式的)
name=lisi
address=\u5317\u4EAC

package com.ck.utils;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
/**
 * 读取配置文件的工具类
 * @author 52363
 *
 */
public class ReadConfigurationFileUtils2 {

    /**
     * 通过Properties类读取配置文件信息
     * @param filePath 配置文件的路径,配置文件可以是properties文件,也可以是cfg文件
     * 配置文件中可以是:key=value或者key:value的形式
     * @throws Exception 
     */
    public static void readConfigurationByProperties(String filePath) throws Exception{

        Properties properties = new Properties();
        //可以用两种不同的流来加载配置文件
        //properties.load(new BufferedReader(new FileReader(filePath)));
        properties.load(ReadConfigurationFileUtils2.class.getResourceAsStream(filePath));

        //也可以指定键名来获取值
        //String name = properties.getProperty("name");

        Set<Entry<Object,Object>> entrySet = properties.entrySet();
        for (Entry<Object, Object> entry : entrySet) {
            System.out.println(entry.getKey()+" -- "+entry.getValue());
        }
    }
}

测试类
package com.ck.test;
import org.junit.Test;
import com.ck.utils.ReadConfigurationFileUtils2;

public class TestReadFile2 {

    /**
     * 测试使用Properties类的load方法读取properties文件
     * @throws Exception
     */
    @Test
    public void test1() throws Exception{
        ReadConfigurationFileUtils2.readConfigurationByProperties("/resource/test1.properties");
    }

    /**
     * 测试使用Properties类的load方法读取cfg文件
     * @throws Exception
     */
    @Test
    public void test2() throws Exception{
        ReadConfigurationFileUtils2.readConfigurationByProperties("/resource/test2.cfg");
    }
}

运行test1后输出结果:
这里写图片描述
运行test2后输出结果:
这里写图片描述

代码目录结构
这里写图片描述

想看源码的同学可以在我贡献的资源中下载哦~大家共同学习提高自己!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值