读取Properties配置文件的几种方式以及注意事项

本文介绍了三种读取Properties配置文件的方法:1) 读取系统内配置文件;2) 直接读取文件内容,但可能在jar包运行时报错;3) 读取外部配置文件,适用于不同环境的需求。
摘要由CSDN通过智能技术生成

假设读取test.properties配置文件的内容,内容如下:

test.name=xiaoming
test.age=12

一、第一种方式:读取系统内配置文件

    /**
     * 优缺点:文件必须在resource目录下,若放其他位置则会报NullPointerException
     * @param propertiesName 配置文件名,如:test.properties 或 conf/test.properties
     * @throws IOException
     */
    public Properties readProperties1(String propertiesName) throws IOException {
        //读取配置文件
        Properties properties = new Properties();
        properties.load(new InputStreamReader(PropertiesTest1.class.getClassLoader().getResourceAsStream(propertiesName), StandardCharsets.UTF_8));

        return properties;
    }

二、第二种方式:读取文件内容(打jar包运行会报错)

    /**
     * 优缺点:需要配置文件的具体路径,如果配置文件在项目外边,则每次运行路径发生变化,均要指定新的路径
     * @param propertiesPath 具体的路径,如:D:\Users\xie\IdeaProjects\smallDemo\conf\test.properties
     *                       文件在src目录下,也可以使用相对路径,如:./src/main/java/com/demo/test.properties
     * @throws IOException
     */
    public Properties readProperties2(String propertiesPath) throws IOException {
        //读取配置文件
        Properties properties = new Properties();
        File file = new File(propertiesPath);
        FileInputStream fileInputStream = new FileInputStream(file);
        properties.load(new InputStreamReader(fileInputStream, StandardCharsets.UTF_8));

        return properties;
    }

三、第三种方式:读取外部配置文件

    public Properties readProperties(String propertiesPath) throws IOException {
        Properties properties = new Properties();

        //读取配置文件
        String filePath = System.getProperty("user.dir") + propertiesPath;
        InputStream in = new BufferedInputStream(new FileInputStream(filePath));
        properties.load(in);

        return properties;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值