读取properties文件的两种方式
package test_reflect;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class test_loadProperties {
public static void main(String[] args) throws IOException {
// 方法一,局限在于只能读取类路径下的文件
// Properties properties=new Properties();
// InputStream inputStream=test_loadProperties.class.getClassLoader().getResourceAsStream("test_reflect/reflect.properties");
// properties.load(inputStream);
// String className=properties.getProperty("className");
// System.out.println(className);
// 方法二,可以读取任意位置的文件
Properties properties=new Properties();
BufferedReader bufferedReader=new BufferedReader(new FileReader("D:\\reflect.properties"));
properties.load(bufferedReader);
String className=properties.getProperty("className");
System.out.println(className);
}
}
注意:在使用中遇到的最大的问题可能是配置文件的路径问题,如果配置文件入在当前类所在的包下,那么需要使用包名限定,如:config.properties入在com.test.config包下,则要使用com/test/config/config.properties、或com/test/config/config;属性文件在src根目录下,则直接使用config.properties或config即可。