[1]基于classLoader,该方式只能读取类路径下的配置文件。
[2]基于 InputStream 读取配置文件,可以读取任意路径下的配置文件。
简单demo:
/**
* [1]基于classLoader,该方式只能读取类路径下的配置文件
* @author 陈嘉豪
*/
public static void load1(){
Properties properties = new Properties();
try {
//可解决乱码
InputStreamReader inputStreamReader = new InputStreamReader(Thread.currentThread().getContextClassLoader().getResourceAsStream("config/my.properties"), "UTF-8");
properties.load(inputStreamReader);
System.out.println("my.name="+properties.getProperty("my.name"));
System.out.println("my.name="+properties.get("my.age"));
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* [2]基于 InputStream 读取配置文件,可以读取任意路径下的配置文件
* @author 陈嘉豪
*/
public static void load2(){
Properties properties = new Properties();
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new FileReader("E:/config/my.properties"));
properties.load(bufferedReader);
System.out.println("my.name="+properties.getProperty("my.name"));
System.out.println("my.name="+properties.get("my.age"));
} catch (Exception e) {
e.printStackTrace();
}
}