zoukankan      html  css  js  c++  java
  • Properties类操作.properties配置文件方法总结

    一、properties文件

    Properties文件是java中很常用的一种配置文件,文件后缀为“.properties”,属文本文件,文件的内容格式是“键=值”的格式,可以用“#”作为注释,java编程中用到的地方很多,运用配置文件,可以便于java深层次的解耦。

    例如java应用通过JDBC连接数据库时,可以把数据库的配置写在配置文件 jdbc.properties:

    driver=com.mysql.jdbc.Driver 
    jdbcUrl=jdbc:mysql://localhost:3306/user 
    user=root 
    password=123456

    这样我们就可以通过加载properties配置文件来连接数据库,达到深层次的解耦目的,如果想要换成oracle或是DB2,我们只需要修改配置文件即可,不用修改任何代码就可以更换数据库。

    二、Properties类

    java中提供了配置文件的操作类Properties类(java.util.Properties):

    读取properties文件的通用方法:根据键得到value

        /**
         * 读取config.properties文件中的内容,放到Properties类中
         * @param filePath 文件路径
         * @param key 配置文件中的key
         * @return 返回key对应的value
         */
        public static String readConfigFiles(String filePath,String key) {
            Properties prop = new Properties();
            try{
                InputStream inputStream = new FileInputStream(filePath);
                prop.load(inputStream);
                inputStream.close();
                return prop.getProperty(key);
            }catch (Exception e) {
                e.printStackTrace();
                System.out.println("未找到相关配置文件");
                return null;
            }
        }

    把配置文件以键值对的形式存放到Map中:

        /**
         * 把.properties文件中的键值对存放在Map中
         * @param inputStream 配置文件(inputstream形式传入)
         * @return 返回Map
         */
        public Map<String, String> convertPropertityFileToMap(InputStream inputStream) {
            try {
                Properties prop = new Properties();
                Map<String, String> map = new HashMap<String, String>();
                if (inputStream != null) {
                    prop.load(inputStream);
                    Enumeration keyNames = prop.propertyNames();
                    while (keyNames.hasMoreElements()) {
                        String key = (String) keyNames.nextElement();
                        String value = prop.getProperty(key);
                        map.put(key, value);
                    }
                    return map;
                } else {
                    return null;
                }
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
  • 相关阅读:
    设计模式-适配器模式
    设计模式-模板方法模式
    设计模式-策略模式
    spring-消息
    spring-集成redis
    spring-mvc高级技术
    spring-AOP
    restful规范
    十一,装饰器详解
    十,函数对象,嵌套,名称空间与作用域,闭包函数
  • 原文地址:https://www.cnblogs.com/janson071/p/10082778.html
Copyright © 2011-2022 走看看