Java-10.23

读取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即可。

你可能感兴趣的:(java,java)