package cn.itcast.jdbc1;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
public class PropertiesDemo {
public static void main(String[] args) throws Exception {
InputStream in = PropertiesDemo.class.getClassLoader().getResourceAsStream("database.properties");
System.out.println(in);
/*
* FileInputStream fis=new FileInputStream("src/database.properties");
* System.out.println(fis); 写好的配置文件放在src下,又会自动在bin下生成一个配置文件
* 而我们给用户的工程不包含src,所以当我们加载配置文件时,要通过类加载器,让他去bin下找配置文件。
*/
Properties pro = new Properties();
pro.load(in);
System.out.println(pro);
}
}
如果类要运行,必须要放到内存里去的,谁放进去的呢? 加载器放进去的,最终要运行PropertiesDemo这个类,而这个类在bin目录下,想拿这个类的加载器,必须先拿到这个类的class文件对象,用PropertiesDemo.class就可以,再用getClassLoader()返回该类的类加载器,再用getResourceAsStream返回读取指定资源的输入流,再用Properties类的load方法去装载流,读取键值对.