• util之Properties文件操作类


    package com.***.util;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    /**
     * 属性文件工具类
     */
    public class PropsUtil {
        private static final Logger LOGGER = LoggerFactory.getLogger(PropsUtil.class);
    
        /**
         * 加载属性文件
         * @param fileName fileName一定要在class下面及java根目录或者resource跟目录下
         * @return
         */
        public static Properties loadProps(String fileName){
            Properties props = new Properties();
            InputStream is = null;
            try {
                //将资源文件加载为流
                is = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);            props.load(is);
                if(is==null){
                   throw new FileNotFoundException(fileName+"file is not Found");
                }
            } catch (FileNotFoundException e) {
                LOGGER.error("load properties file filure",e);
            }finally {
                if(is !=null){
                    try {
                        is.close();
                    } catch (IOException e) {
                        LOGGER.error("close input stream failure",e);
                    }
                }
            }
            return props;
        }
    
        /**
         * 获取字符型属性(默认值为空字符串)
         * @param props
         * @param key
         * @return
         */
        public static String getString(Properties props,String key){
            return getString(props,key,"");
        }
    
        /**
         * 获取字符型属性(可制定默认值)
         * @param props
         * @param key
         * @param defaultValue 当文件中无此key对应的则返回defaultValue
         * @return
         */
        public static String getString(Properties props,String key,String defaultValue){
            String value = defaultValue;
            if (props.containsKey(key)){
                value = props.getProperty(key);
            }
            return value;
        }
    
        /**
         * 获取数值型属性(默认值为0)
         * @param props
         * @param key
         * @return
         */
        public static int getInt(Properties props,String key){
            return getInt(props,key,0);
        }
    
        /**
         * 获取数值型属性(可指定默认值)
         * @param props
         * @param key
         * @param defaultValue
         * @return
         */
        public static int getInt(Properties props,String key,int defaultValue){
            int value = defaultValue;
            if (props.containsKey(key)){
                value = CastUtil.castInt(props.getProperty(key));
            }
            return value;
        }
    
        /**
         * 获取布尔型属性(默认值为false)
         * @param props
         * @param key
         * @return
         */
        public static boolean getBoolean(Properties props,String key){
            return getBoolean(props,key,false);
        }
    
        /**
         * 获取布尔型属性(可指定默认值)
         * @param props
         * @param key
         * @param defaultValue
         * @return
         */
        public static boolean getBoolean(Properties props,String key,Boolean defaultValue){
            boolean value = defaultValue;
            if (props.containsKey(key)){
                value = CastUtil.castBoolean(props.getProperty(key));
            }
            return value;
        }
    }

    用到的maven坐标

            <!--slf4j-->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.7.9</version>
            </dependency>
  • 相关阅读:
    javascript 事件冒泡
    Java 理论与实践: 正确使用 Volatile 变量
    Concurrency,Java 并发
    POJ2379 ACM Rank Table 模拟题
    HDU1711Number Sequence KMP
    POJ1061 青蛙的约会 扩展GCD
    HDU2523 SORT AGAIN HASH
    HDU2087剪花布条 KMP
    HDU3736 Cyclic Nacklace KMP
    HDU1709The Balance 母函数
  • 原文地址:https://www.cnblogs.com/rdchen/p/13896777.html
Copyright © 2020-2023  润新知