使用文本文件存储配置的应用程序并且该配置通常为key= value格式时,我们可以java.util.Properties用来读取该配置文件。本文主要介绍读取配置文件的方法及示例代码。

示例配置文件

app.config:

app.name=MyApp
app.version=1.0

使用读取配置示例代码:

package org.cjavapy.example.util;
import java.io.*;
import java.net.URL;
import java.util.Objects;
import java.util.Properties;
public class PropertiesExample {
    public static void main(String[] args) {
        Properties prop = new Properties();
        try {
            // 配置文件名
            String fileName = "app.config";
            ClassLoader classLoader = PropertiesExample.class.getClassLoader();
            // 确保配置文件存在
            URL res = Objects.requireNonNull(classLoader.getResource(fileName),
                "Can't find configuration file app.config");
            InputStream is = new FileInputStream(res.getFile());
            // 载入配置文件
            prop.load(is);
            // 获取app.name key的值
            System.out.println(prop.getProperty("app.name"));
            // 获取app.version key的值
            System.out.println(prop.getProperty("app.version"));
            // 获取"app.type"的值,如果不存在,则返回默认值"cjavapy"
            System.out.println(prop.getProperty("app.type","cjavapy"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

输出结果:

MyApp
1.0
cjavapy

相关文档Java Properties配置文件读取到Map<String, List<String>>的方法(lambda)

推荐文档