加载配置文件的2种方式
- 输入流将配置文件加载到内存
- 类加载器(ClassLoader)加载配置文件
Note: Properties读取配置文件的类,Properties读取配置文件之前需要将配置文件加载到内存中,也就是将配置文件从硬盘中读取到内存中。
1.输入流将配置文件加载到内存
方法
1.创建一个Properties类的对象
Properties p = new Properties();
2.创建一个字节输入流对象读取文件默认在当前项目下查找
FileInputStream in = new FileInputStream(“跟路径地址”);
3.Properties类的load()方法进行配置文件的加载
p.load(in);
代码
public class Test2 {
public static void main(String[] args) throws Exception {
// 创建一个Properties类的对象
Properties p = new Properties();
//创建一个字节输入流对象读取文件默认在当前项目下查找
FileInputStream in = new FileInputStream("C:\\PracticeCoding\\resources\\bean.properties");
//Properties类的load()方法进行配置文件的加载
p.load(in);
//获取配置文件中的信息
System.out.println(p.getProperty("user"));
System.out.println(p.getProperty("password"));
}
}
运行结果
system
123456
2.类加载器(ClassLoader)加载配置文件
方法
1.获取装载当前类的装载器
ClassLoader c=this.getClass().getClassLoader();
或者ClassLoader c=类名.class.getClassLoader();
2.使用类装载器读取配置文件
InputStream is= c.getResourceAsStream(“配置文件全名”);
Properties prop = new Properties();
prop.load(is);
代码
public class Test2 {
public static void main(String[] args) throws Exception {
// 创建一个Properties类的对象
Properties p = new Properties();
//通过自定义类(也就是本类)调用class属性得到对应的Class实例,然后通过调用getClassLoader()方法得到一个系统类加载器对象
//通过系统类加载器对象调用getResourceAsStream()方法以流的形式获取资源,将配置文件加载到内存中
// 使用类加载器的getResourceAsStream(String path)方法来获取资源时默认是在本项目的src文件目录之下获取
InputStream in = Test2.class.getClassLoader().getResourceAsStream("bean.properties");//这里不需要根路径
//Properties类的load()方法进行配置文件的加载
p.load(in);
//获取配置文件中的信息
System.out.println(p.getProperty("user"));
System.out.println(p.getProperty("password"));
}
}
运行结果
system
123456