java基础|Properties文件解析

时间:2021-07-05 19:09:25   收藏:0   阅读:0

在我们的项目工程里面,经常需要对properties的文件,下面是其实现

test.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/future?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

 

文件解析类实现

import javax.naming.ConfigurationException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/**
 * @author durant.zeng
 */
public class PropertiesParse {


    private static final Map<String,String> PROPERTIESMAP;

    static {
        PROPERTIESMAP = new HashMap<> ();
    }

    public static void readConfigProperties(String PropertiesPath) throws IOException, ConfigurationException {

        InputStream is = PropertiesParse.class.getResourceAsStream ( PropertiesPath);
        if(is==null){throw new ConfigurationException ("打开配置文件" + PropertiesPath + "失败" );
        }

        Properties properties = new Properties ();
        //加载文件
        properties.load (is);
        //获得properties文件的keys集合
        Enumeration<Object> keysset = properties.keys();
        while (keysset.hasMoreElements ()){
            String key = (String) keysset.nextElement ();
            String value = properties.getProperty (key);
            PROPERTIESMAP.put ( key,value );
        }

    }

    public static String getValue(String key){
            return PROPERTIESMAP.get (key);
        }


}

测试类:

import javax.naming.ConfigurationException;
import java.io.IOException;

public class PropertiesDemo {
    public static void main(String[] args) {

        try {
            PropertiesParse.readConfigProperties ( "/test.properties" );
        } catch (IOException | ConfigurationException e) {
            e.printStackTrace ( );
        }
        System.out.println ( PropertiesParse.getValue ( "jdbc.driver" ));

    }
}

测试结果:

com.mysql.jdbc.Driver

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!