码迷,mamicode.com
首页 > 其他好文 > 详细

配置文件读取的封装

时间:2017-11-19 21:10:42      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:files   print   tac   替换   nts   目录   key   override   oid   

将配置文件放到 src 下 即可 
原理:获取src目录下的文件 一个个读取 .properties 后缀的文件

public class PropertiesUtil {
    public static void main(String[] args) {
        System.out.println(PropertiesUtil.getValue("mail.username"));
    }
    private static Properties p = new Properties();
    static{
        String classPath = Properties.class.getResource("/").toString();
        System.out.println(classPath);  //输出 file:/D:/javacode/Shop/build/classes/
        // 替换掉 file:/
        classPath = classPath.replaceAll( "file:/" ,  ""  );
        // 目录有空格会出现 %20  替换掉即可
        classpath = classpath.replace("%20", " ");
        System.out.println(classPath);  //输出  D:/javacode/Shop/build/classes/

        File classPathFile = new File ( classPath );
        //过滤文件名  只要.propertoes 结尾的文件
        File [] fileList = classPathFile.listFiles( new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return name.endsWith(".properties");
            }
        } );
        try {
            if (fileList != null && fileList.length > 0) {
                for  (File file : fileList) {
                    Properties prop = new Properties();
                    prop.load(  new FileInputStream( file  )   );
                    p.putAll(prop);
                } 
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static String getValue( String key ) {
        return p.getProperty(key,null);
    }
}

使用

String handlerPath = PropertiesUtil.getValue( "driver" );

 

配置文件读取的封装

标签:files   print   tac   替换   nts   目录   key   override   oid   

原文地址:http://www.cnblogs.com/huangjianlong/p/7861193.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!