java读取配置文件(二)

来源:互联网 发布:java inputstream 编辑:程序博客网 时间:2024/05/16 12:45

java读取配置文件(二)

以前写过一篇通过ResourceBundle读取配置文件的文章,现在看来,那篇文章不是那么的通用。下面介绍一种通用的读取java中配置文件的方法。

首先看一下目录结构:


注意这里resources文件夹的位置。
下面看一下代码:
app.properties:
name=appage=12

App.java
package com.xueyou.demo;import java.util.Map;/** * Hello world! */public class App {    public static void main(String[] args) {        System.out.println("Hello World!");        Map<String, String> paramsMap = PropertiesUtils.getInstance().getParamsMap();        System.out.println(paramsMap);    }}


PropertiesUtils.java
package com.xueyou.demo;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import java.util.Map;import java.util.Properties;public class PropertiesUtils {    private static final String PROPERTIESFILENAME = "app.properties";    private static PropertiesUtils propertiesUtils;    private Map<String, String> paramsMap;    private PropertiesUtils() {    }    public static PropertiesUtils getInstance() {        if (propertiesUtils == null) {            propertiesUtils = new PropertiesUtils();        }        return propertiesUtils;    }    public Map<String, String> getParamsMap() {        if (paramsMap == null) {            paramsMap = new HashMap<String, String>();            InputStream in = null;            in = PropertiesUtils.class.getClassLoader().getResourceAsStream(PROPERTIESFILENAME);            Properties properties = new Properties();            try {                properties.load(in);                paramsMap.put("name", properties.get("name").toString());                paramsMap.put("age", properties.get("age").toString());            } catch (IOException e) {                e.printStackTrace();            } finally {                return paramsMap;            }        } else {            return paramsMap;        }    }}

运行结果:


ok,这样能够通过properties的方式读取配置文件了。
原创粉丝点击