配置文件读取的封装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置文件读取的封装相关的知识,希望对你有一定的参考价值。

将配置文件放到 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" );

 

以上是关于配置文件读取的封装的主要内容,如果未能解决你的问题,请参考以下文章

Python基础之读取基础配置模块封装

封装properties从配置文件读取测试用例输入数据

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

配置文件读取的封装