码迷,mamicode.com
首页 > 编程语言 > 详细

Java中加载properties配置文件的几种方式

时间:2020-03-31 21:24:27      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:out   初始化   initial   利用   pat   turn   资源加载   相对路径   tac   

项目中有时候需要从配置文件中加载各种配置属性。

1.利用FileInputStream

这种方式比较适合从任意路径加载配置文件,文件路径是绝对路径。直接看代码

 //初始化资源加载器,boolean值指示加载成功还是失败
    private static boolean initialize(){

        try{
            try{
                stream = new FileInputStream("E:/info.properties");
                info = new Properties();
                info.load(stream);
            }finally {
                if(stream != null)
                    stream.close();
            }
        }catch (Exception e){
            e.printStackTrace();
            return false;
        }
        return true;
    }

    //获取配置信息
    public static String getProperties(String key){
        return info.getProperty(key);
    }

    public static void main(String[] args) {

        if(!initialize())return;
        System.out.println(getProperties("key"));
    }

2.利用ClassLoader对象的getResourceAsStream()

底层使用了类加载器加载,这种方式只能从classpath下加载配置文件,即src目录下的文件,路径是相对路径,从src开始写起

 //初始化资源加载器,boolean值指示加载成功还是失败
    private static boolean initialize(){

        try{
            try{
                stream = ResourceUtil.class.getClassLoader()
                        .getResourceAsStream("resources/info.properties");
                info = new Properties();
                info.load(stream);
            }finally {
                if(stream != null)
                    stream.close();
            }
        }catch (Exception e){
            e.printStackTrace();
            return false;
        }
        return true;
    }

    //获取配置信息
    public static String getProperties(String key){
        return info.getProperty(key);
    }

文件的存放路径如下:

技术图片

用这种方式去加载绝对路径下的文件会出现错误,应避免使用。

 

Java中加载properties配置文件的几种方式

标签:out   初始化   initial   利用   pat   turn   资源加载   相对路径   tac   

原文地址:https://www.cnblogs.com/chxyshaodiao/p/12606397.html

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