基于ClassLoader读取配置文件
优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息。
缺点:只能加载类classes下面的资源文件。
注意:该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便。
相对路径: properties文件需在classpath目录下,
Properties properties = new Properties();
// 使用ClassLoader加载properties配置文件生成对应的输入流
ClassLoader loader = Thread.currentThread().getContextClassLoader();
if (loader == null) {
loader = GameServer.class.getClassLoader();
}
InputStream inputStream = loader.getResourceAsStream("config/gameServer.properties");
// 使用properties对象加载输入流
properties.load(in);
//获取key对应的value值
properties.getProperty(String key);
基于 BufferedInputStream 读取配置文件
该方式的优点在于可以读取任意路径下的配置文件
使用缓冲输入流读取配置文件,然后将其加载,再按需操作
绝对路径或相对路径, 如果是相对路径,则从当前项目下的目录开始计算。
根据文件名使用spring中的工具类进行解析
filePath是相对路径,文件需在classpath目录下
比如:config.properties在包com.test.config下,
路径就是com/test/config/config.properties
Properties properties1 = PropertiesLoaderUtils.loadAllProperties("config/gameServer.properties");
System.out.println(properties1.getProperty("game.serever.id"));
实例
读取resourses文件夹下的配置文件