说明
在java项目中经常会使用到配置文件,这里就介绍几种加载配置文件的方法
目录结构
我是使用的maven搭建的项目,resources其实就是在根目录下
配置文件很简单
一、 基于ClassLoader读取配置文件
注意:有局限性 只能在类路径下比较方便
Properties properties = new Properties();
// 注意这里的路径是根据根目录写的
InputStream in = ReadProperties.class.getClassLoader().getResourceAsStream("conf/demo.properties");
properties.load(in);
System.out.println("1111111111111---->:"+properties.getProperty("name"));
输出:
1111111111111---->:xing
二、基于InputStream读取配置文件
Properties properties2 = new Properties();
// 以下两种获取文件流的方式都可以,对于小文件第一种更快一点
// 通过BufferedReader获取文件流
try (BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath))) {
properties2.load(bufferedReader);
System.out.println("22222222222---->:"+properties2.getProperty("name"));
}catch (Exception e){
e.printStackTrace();
}
// 通过FileInputStreamm获取文件流
InputStream in2 = new FileInputStream(new File(filePath));
properties2.load(in2);
System.out.println("22222222222---->:"+properties2.getProperty("name"));
输出:
22222222222---->:xing
22222222222---->:xing
三、基于ResourceBundle读取配置文件
// 1. 通过ResourceBundle.getBundle() 静态方法来获取文件 这种方式不需要添加后缀名
// 注意这里的ResourceBundle.getBundle("conf/demo") 这里不需要写配置文件的后缀 只需要名字即可 xml没试过 这里是properties
ResourceBundle resourceBundle = ResourceBundle.getBundle("conf/demo");
System.out.println("333333333333----->:"+resourceBundle.getString(