读取配置文件之注意点

		Properties p = new Properties();
		InputStream in = PropertiesTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
//		InputStream in = PropertiesTest.class.getResourceAsStream("../jdbc.properties");
		p.load(in);
		System.out.println(p.getProperty("driver"));

分享点小细节:

以上是很简单的读取配置文件的代码,请注意以下两行:

InputStream in = PropertiesTest.class.getClassLoader().getResourceAsStream("jdbc.properties");

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

InputStream in = PropertiesTest.class.getResourceAsStream("../jdbc.properties");

目录结构如下:

读取配置文件之注意点_第1张图片

第一种方式使用当前类加载器的getResourceAsStream()方法会默认在classpath下面去找指定文件,可以看到当前项目的bin目录结构如下:

读取配置文件之注意点_第2张图片

所以这种方式,直接写文件名称即可

那么第二种方式是使用给定的类的class load来实现,这个方法由类的loader来执行,如果这个类由bootstrap加载,那么方法由ClassLoader.getSystemResourceAsStream代理执行,就相当于从test文件夹中的咱们这个类的class文件开始寻找,所以需要到上一级目录去找指定文件,找不到就会抛出空指针

你可能感兴趣的:(java)