zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Linux 下的类似Windows下Everything的搜索工具
    windows和linux环境下制作U盘启动盘
    程序调试手段之gdb, vxworks shell
    LeetCode 1021. Remove Outermost Parentheses (删除最外层的括号)
    LeetCode 1047. Remove All Adjacent Duplicates In String (删除字符串中的所有相邻重复项)
    LeetCode 844. Backspace String Compare (比较含退格的字符串)
    LeetCode 860. Lemonade Change (柠檬水找零)
    LeetCode 1221. Split a String in Balanced Strings (分割平衡字符串)
    LeetCode 1046. Last Stone Weight (最后一块石头的重量 )
    LeetCode 746. Min Cost Climbing Stairs (使用最小花费爬楼梯)
  • 原文地址:https://www.cnblogs.com/rdchen/p/13896777.html
Copyright © 2011-2022 走看看